/* =========================================================================
   INFO DIET — GeoRank site stylesheet
   Layer 1: theme tokens + shared layout CSS (mirrors georank_layout_css()
            + georank_build_style_css() from the GeoRank admin tool, so this
            file is structured the same way a real GeoRank "Design" tab
            output is: tokens -> shared layout -> block components -> responsive)
   Layer 2 (marked below): bespoke "mobile app" additions for this site only.
            If this site is ever loaded into a live GeoRank install, move the
            marked bottom section into Design -> Advanced CSS so it survives
            future theme saves (see delivery notes).
   ========================================================================= */

:root{
  --accent:#FF7A59;
  --accent-dark:#E8582F;
  --bg:#FFF8F0;
  --surface:#FFFFFF;
  --border:#F1E3D3;
  --text:#2B2620;
  --muted:#8A7F72;
  --radius:20px;
  --max-w:1080px;
  --header-height:76px;
  --logo-height:34px;
  --logo-max-width:220px;
  --font:ui-rounded,"SF Pro Rounded","Segoe UI Rounded","Nunito","Segoe UI",Roboto,-apple-system,BlinkMacSystemFont,sans-serif;
  --font-size-base:16px;
  --line-height-base:1.6;
  --font-heading:var(--font);

  /* pillar accent colors */
  --nourish:#2FAE66;
  --nourish-bg:#E8F8EE;
  --move:#2F8FE0;
  --move-bg:#E7F2FD;
  --mind:#9B59D0;
  --mind-bg:#F3E9FB;
  --restore:#5B6EE8;
  --restore-bg:#EAECFC;
  --warn:#E0632F;
  --warn-bg:#FCEBE3;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  font-size:var(--font-size-base);
  line-height:var(--line-height-base);
  padding-bottom:78px; /* room for mobile bottom tab bar */
}
@media (min-width:900px){ body{ padding-bottom:0; } }

img{max-width:100%;display:block;}
a{color:var(--accent-dark);text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2;margin:0 0 .5em;}
h1{font-size:clamp(1.9rem,5vw,2.6rem);}
h2{font-size:clamp(1.4rem,3.4vw,1.9rem);}
h3{font-size:1.15rem;}
p{margin:0 0 1em;color:var(--text);}
.container{max-width:var(--max-w);margin:0 auto;padding:0 20px;}
.muted{color:var(--muted);}
section{padding:44px 0;}
.section-tight{padding:24px 0;}

.eyebrow{
  display:inline-block;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  font-size:.72rem;color:var(--accent-dark);background:#FFEDE4;padding:5px 12px;border-radius:999px;margin-bottom:10px;
}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:8px;justify-content:center;
  background:var(--accent);color:#fff;font-weight:800;padding:13px 22px;border-radius:999px;
  border:0;cursor:pointer;font-size:.98rem;box-shadow:0 8px 20px -6px rgba(255,122,89,.55);
}
.btn:hover{background:var(--accent-dark);}
.btn-outline{
  display:inline-flex;align-items:center;gap:8px;justify-content:center;
  background:#fff;color:var(--accent-dark);font-weight:800;padding:12px 21px;border-radius:999px;
  border:2px solid var(--accent);font-size:.98rem;
}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:40;background:rgba(255,248,240,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);min-height:var(--header-height);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);}
.logo{display:flex;align-items:center;gap:9px;}
.logo-mark{display:inline-flex;height:var(--logo-height);width:var(--logo-height);}
.logo-mark svg{height:100%;width:100%;}
.logo-text{font-weight:900;font-size:1.15rem;color:var(--text);}
.site-nav{display:none;gap:22px;align-items:center;}
.site-nav a{font-weight:700;color:var(--text);font-size:.95rem;padding:8px 2px;border-bottom:2px solid transparent;}
.site-nav a:hover,.site-nav a.active{color:var(--accent-dark);border-color:var(--accent);}
.nav-toggle{
  display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
  width:42px;height:42px;border-radius:12px;border:1px solid var(--border);background:var(--surface);cursor:pointer;
}
.nav-toggle span{display:block;height:2px;width:20px;margin:0 auto;background:var(--text);border-radius:2px;}
@media (min-width:900px){
  .site-nav{display:flex;}
  .nav-toggle{display:none;}
}
.site-nav.open{
  display:flex;flex-direction:column;gap:2px;position:absolute;left:0;right:0;top:100%;
  background:var(--surface);border-bottom:1px solid var(--border);padding:8px 20px 16px;box-shadow:0 14px 24px -14px rgba(0,0,0,.2);
}
.site-nav.open a{padding:12px 4px;border-bottom:1px solid var(--border);}

/* ---------- footer ---------- */
.site-footer{background:#2B2620;color:#EFE7DC;margin-top:40px;padding:44px 0 0;}
.footer-grid{display:grid;gap:26px;grid-template-columns:1fr;}
@media (min-width:720px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr;}}
.footer-grid h4{color:#fff;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;}
.footer-grid a{display:block;color:#D9CFC1;padding:4px 0;}
.footer-grid a:hover{color:#fff;}
.footer-brand p{color:#C9BEAF;}
.georank-biz-info{color:#D9CFC1;font-size:.95rem;}
.georank-biz-info .biz-name{font-weight:800;color:#fff;margin-bottom:4px;}
.georank-biz-info a{display:inline;padding:0;color:#D9CFC1;}
.footer-bottom{border-top:1px solid #423C33;margin-top:30px;padding:16px 20px;font-size:.82rem;color:#B7ACA0;}
.footer-bottom p{margin:0;}

/* ---------- GeoRank block library (mirrors georank_layout_css) ---------- */
.hero{padding:0 0 10px;}
.hero-inner{display:grid;gap:26px;align-items:center;}
.hero-media{width:100%;border-radius:var(--radius);}
@media (min-width:900px){.hero-inner{grid-template-columns:1.1fr .9fr;}}

.grid{display:grid;gap:16px;grid-template-columns:1fr;}
@media (min-width:720px){.grid{grid-template-columns:repeat(3,1fr);}}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;}

.georank-imgtext{display:flex;gap:22px;align-items:center;flex-wrap:wrap;}
.georank-imgtext .git-media{flex:1 1 50%;max-width:250px;min-width:96px;}
.georank-imgtext .git-media img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius);}
.georank-imgtext .git-text{flex:1 1 260px;}
@media (min-width:720px){.georank-imgtext .git-media{max-width:500px;}}
.georank-imgtext.reverse{flex-direction:row-reverse;}

.georank-capsules{display:grid;gap:14px;grid-template-columns:1fr;}
@media (min-width:720px){.georank-capsules{grid-template-columns:repeat(3,1fr);}}
.capsule{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:18px 22px;text-align:center;}
.capsule h4{margin:0 0 4px;}
.capsule p{margin:0;color:var(--muted);font-size:.92rem;}

.georank-flexgrid{display:grid;gap:14px;grid-template-columns:1fr;}
@media (min-width:720px){.georank-flexgrid{grid-template-columns:repeat(var(--cols,3),1fr);}}
.flexbox{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;}

.georank-overlay{position:relative;border-radius:var(--radius);overflow:hidden;display:block;background:var(--surface);border:1px solid var(--border);}
.georank-overlay img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.georank-overlay-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:20px;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.05) 60%);}
.georank-overlay-text h3{color:#fff;margin:0 0 6px;}
.georank-overlay-text p{color:#F1E9DD;margin:0 0 10px;font-size:.92rem;}
.georank-overlay-text .btn{align-self:center;}

.georank-faq{max-width:100%;}
.georank-faq details{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px 18px;margin-bottom:10px;}
.georank-faq summary{font-weight:800;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.georank-faq summary::-webkit-details-marker{display:none;}
.georank-faq summary::after{content:"+";font-size:1.3rem;color:var(--accent-dark);}
.georank-faq details[open] summary::after{content:"\2715";font-size:1rem;}
.georank-faq details p{margin:10px 0 0;color:var(--muted);}

.notice{background:#FFF3E4;border:1px solid #F4DDB8;border-radius:16px;padding:16px 18px;}
.notice strong{color:var(--accent-dark);}

/* back to top */
.gr-back-to-top{
  position:fixed;right:16px;bottom:92px;z-index:39;width:44px;height:44px;border-radius:50%;
  background:var(--text);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 18px -6px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .2s;border:0;cursor:pointer;
}
.gr-back-to-top.visible{opacity:1;pointer-events:auto;}
@media (min-width:900px){.gr-back-to-top{bottom:24px;}}

/* =========================================================================
   ADVANCED CSS — bespoke "mobile app" layer for Info Diet
   (on a live GeoRank install: paste everything below this line into
   Design -> Colors & Style -> Advanced CSS so it survives future theme saves)
   ========================================================================= */

/* --- app-style splash hero --- */
.hero-app{
  border-radius:28px;padding:34px 22px;color:#fff;position:relative;overflow:hidden;
  background:radial-gradient(120% 140% at 15% 10%,#FF9C6E 0%,#FF7A59 42%,#E8582F 100%);
  box-shadow:0 20px 40px -18px rgba(232,88,47,.55);
}
.hero-app .eyebrow{background:rgba(255,255,255,.22);color:#fff;}
.hero-app h1,.hero-app p{color:#fff;}
.hero-app .tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px;}
.hero-app .tag-chip{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);padding:6px 12px;border-radius:999px;font-size:.78rem;font-weight:700;}
.hero-app .btn{background:#fff;color:var(--accent-dark);}
.hero-app .btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}

/* --- pillar grid --- */
.pillar-grid{display:grid;gap:14px;grid-template-columns:1fr 1fr;}
@media (min-width:720px){.pillar-grid{grid-template-columns:repeat(4,1fr);}}
.pillar-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:20px 16px;text-align:center;}
.pillar-icon{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.pillar-icon svg{width:26px;height:26px;}
.pillar-card.nourish .pillar-icon{background:var(--nourish-bg);color:var(--nourish);}
.pillar-card.move .pillar-icon{background:var(--move-bg);color:var(--move);}
.pillar-card.mind .pillar-icon{background:var(--mind-bg);color:var(--mind);}
.pillar-card.restore .pillar-icon{background:var(--restore-bg);color:var(--restore);}
.pillar-card h4{margin-bottom:4px;}
.pillar-card p{color:var(--muted);font-size:.88rem;margin:0;}

/* --- day-flow timeline (home) --- */
.day-flow{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);}
@media (min-width:640px){.day-flow{grid-template-columns:repeat(4,1fr);}}
@media (min-width:900px){.day-flow{grid-template-columns:repeat(7,1fr);}}
.flow-step{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 10px;text-align:center;}
.flow-step .flow-icon{font-size:1.4rem;margin-bottom:6px;}
.flow-step h5{margin:0 0 3px;font-size:.82rem;font-weight:800;}
.flow-step p{margin:0;font-size:.74rem;color:var(--muted);}

/* --- phase cards / day cards (program page) --- */
.phase-nav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 6px;}
.phase-pill{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:8px 14px;font-weight:800;font-size:.82rem;color:var(--text);}
.phase-pill.p1{border-color:var(--nourish);color:var(--nourish);}
.phase-pill.p2{border-color:var(--move);color:var(--move);}
.phase-pill.p3{border-color:var(--mind);color:var(--mind);}
.phase-pill.p4{border-color:var(--restore);color:var(--restore);}

.phase-block{padding:30px 0;border-top:1px solid var(--border);}
.phase-head{display:flex;align-items:center;gap:12px;margin-bottom:6px;}
.phase-num{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:900;color:#fff;flex:none;}
.phase-block.p1 .phase-num{background:var(--nourish);}
.phase-block.p2 .phase-num{background:var(--move);}
.phase-block.p3 .phase-num{background:var(--mind);}
.phase-block.p4 .phase-num{background:var(--restore);}

.day-grid{display:grid;gap:14px;grid-template-columns:1fr;}
@media (min-width:720px){.day-grid{grid-template-columns:repeat(3,1fr);}}
.day-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:18px;position:relative;}
.day-card .day-pill{display:inline-block;font-weight:900;font-size:.72rem;letter-spacing:.05em;padding:4px 10px;border-radius:999px;color:#fff;margin-bottom:10px;}
.phase-block.p1 .day-pill{background:var(--nourish);}
.phase-block.p2 .day-pill{background:var(--move);}
.phase-block.p3 .day-pill{background:var(--mind);}
.phase-block.p4 .day-pill{background:var(--restore);}
.day-card h4{margin-bottom:4px;}
.day-card p{color:var(--muted);font-size:.9rem;margin:0;}

/* --- meal chips (meals page) --- */
.meal-grid{display:grid;gap:12px;grid-template-columns:1fr;}
@media (min-width:560px){.meal-grid{grid-template-columns:1fr 1fr;}}
@media (min-width:900px){.meal-grid{grid-template-columns:1fr 1fr 1fr;}}
.meal-chip{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 14px;font-weight:700;font-size:.92rem;}
.meal-chip .m-ic{font-size:1.2rem;}
.snack-row{display:flex;flex-wrap:wrap;gap:10px;}
.snack-chip{background:var(--nourish-bg);color:var(--nourish);border-radius:999px;padding:9px 16px;font-weight:800;font-size:.85rem;}
.occasional-row{display:flex;flex-wrap:wrap;gap:10px;}
.occasional-chip{background:var(--warn-bg);color:var(--warn);border-radius:999px;padding:9px 16px;font-weight:800;font-size:.85rem;}

/* --- move / mind daily table-as-cards --- */
.daily-list{display:grid;gap:10px;}
.daily-row{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 16px;}
.daily-row .d-num{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:900;color:#fff;font-size:.9rem;}
.daily-row.move .d-num{background:var(--move);}
.daily-row.mind .d-num{background:var(--mind);}
.daily-row p{margin:0;}

/* --- grocery categories & rules --- */
.grocery-cat{margin-bottom:22px;}
.grocery-cat h4{color:var(--accent-dark);margin-bottom:10px;}
.chip-row{display:flex;flex-wrap:wrap;gap:9px;}
.g-chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:7px 14px;font-size:.85rem;font-weight:700;}

.rules-grid{display:grid;gap:12px;grid-template-columns:1fr;}
@media (min-width:720px){.rules-grid{grid-template-columns:1fr 1fr;}}
.rule-card{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 16px;}
.rule-card .r-num{width:30px;height:30px;border-radius:9px;background:var(--accent);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;flex:none;font-size:.85rem;}
.rule-card p{margin:0;font-weight:600;}

.commitment-box{background:var(--surface);border:2px dashed var(--accent);border-radius:22px;padding:22px;}
.commitment-box .c-line{border-bottom:1px solid var(--border);padding:10px 2px;color:var(--muted);}
.commitment-box h4{margin-bottom:10px;}

/* --- bottom app tab bar + more sheet (built by JS, styled here) --- */
.gr-tabbar{
  position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--surface);
  border-top:1px solid var(--border);display:flex;justify-content:space-around;
  padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -8px 20px -12px rgba(0,0,0,.18);
}
@media (min-width:900px){.gr-tabbar{display:none;}}
.gr-tab{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;
  color:var(--muted);font-size:.68rem;font-weight:800;padding:6px 2px;border-radius:14px;
}
.gr-tab svg{width:22px;height:22px;}
.gr-tab.active{color:var(--accent-dark);}
.gr-tab.active svg{color:var(--accent-dark);}

.gr-more-sheet{
  position:fixed;inset:0;z-index:60;background:rgba(43,38,32,.45);display:none;
}
.gr-more-sheet.open{display:block;}
.gr-more-panel{
  position:absolute;left:0;right:0;bottom:0;background:var(--surface);border-radius:24px 24px 0 0;
  padding:10px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px -10px rgba(0,0,0,.3);
}
.gr-more-panel .handle{width:40px;height:4px;background:var(--border);border-radius:99px;margin:8px auto 16px;}
.gr-more-panel a{display:flex;align-items:center;gap:12px;padding:13px 4px;font-weight:800;border-bottom:1px solid var(--border);color:var(--text);}
.gr-more-panel a:last-child{border-bottom:0;}
.gr-more-panel a svg{width:22px;height:22px;flex:none;color:var(--accent-dark);}
