/*
Theme Name: Born for Burgers
Theme URI: https://bornforburgers.com/
Description: Lightweight hand-coded theme for Born for Burgers. Replaces Astra + Elementor. No page builder, no jQuery.
Version: 1.1.0
Author: Born for Burgers
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: bfb
*/

/* Fonts: @font-face is printed in <head> by functions.php (bfb_font_faces), so it can point at the theme's own copies. */

:root{
  --ink:#181818; --yellow:#FFD854; --coral:#FF6060; --grey:#6C6C6C; --muted:#7A7A7A;
  --light:#CCCCCC; --slate:#4B4F58; --white:#fff;
  --display:"Monoton",sans-serif; --card:"card-characters",sans-serif;
  --body:Tahoma,Verdana,Segoe,sans-serif; --roboto:Roboto,"Segoe UI",Arial,sans-serif;
  --wrap:1140px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--slate);font:400 15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4,h5,h6{margin:0;font-weight:300;line-height:1.3}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.center{text-align:center}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.skip-link:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;z-index:100;background:var(--yellow);color:var(--ink);padding:8px 12px}

/* ---------- Header ---------- */
.site-header{background:var(--ink);padding:10px 0 5px;text-align:center;border-bottom:3px solid var(--yellow)}
.site-header .logo{display:inline-block}
.site-header .logo img{width:400px;margin:0 auto}
.tagline{font-family:var(--card);font-size:13px;font-weight:100;color:#fff;letter-spacing:.02em;margin:2px 0 6px;line-height:1.25}
.social{display:flex;justify-content:center;gap:6px;margin:0;padding:0;list-style:none}
.social a{display:flex;align-items:center;justify-content:center;width:50px;height:50px;color:var(--yellow)}
.social svg{width:25px;height:25px;fill:currentColor}
.order-link{display:inline-block;font-family:var(--display);font-weight:600;font-size:15px;color:var(--yellow);text-decoration:none;margin:0 0 6px}

/* ---------- Hero slideshow (CSS only: 3 slides, 6s each, 1s fade, slow zoom) ---------- */
.hero{position:relative;height:675px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--ink)}
.hero .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:bfbFade 18s infinite,bfbZoom 18s infinite linear}
.hero .slide:nth-child(1){opacity:1;animation-delay:0s}
.hero .slide:nth-child(2){animation-delay:6s}
.hero .slide:nth-child(3){animation-delay:12s}
@keyframes bfbFade{0%{opacity:0}5.5%{opacity:1}33.3%{opacity:1}38.8%{opacity:0}100%{opacity:0}}
@keyframes bfbZoom{0%{transform:scale(1)}38.8%{transform:scale(1.3)}100%{transform:scale(1.3)}}
.hero::after{content:"";position:absolute;inset:0;background:rgba(24,24,24,.3)}
.hero h1{position:relative;z-index:1;font-family:var(--display);font-size:90px;line-height:1.4;color:var(--yellow);text-align:center;max-width:1000px;padding:0 20px}
@media (prefers-reduced-motion:reduce){.hero .slide{animation:none}.hero .slide:nth-child(1){opacity:1}}

/* ---------- Story ---------- */
.story{background:#fff;overflow:hidden;padding-bottom:70px}
.story-top{display:grid;grid-template-columns:621fr 491fr;max-width:var(--wrap);margin:0 auto}
.story-img img{width:491px;margin:0 auto}
.story-text{padding:10px;margin-top:70px}
.story-text h2{font-family:var(--card);font-size:42px;color:var(--coral);text-align:center;line-height:1.3;margin-bottom:20px}
.lead{font-family:var(--body);color:var(--muted);text-align:center;margin-bottom:30px}
.card{border:3px solid var(--slate);padding:10px;text-align:center;font-family:var(--body);font-weight:500}
.card h3{font-family:var(--card);font-size:20px;margin:10px 0 12px}
.card p{font-size:15px}
.story-text .card{margin:0 20px 20px}
.c1 h3{color:var(--ink)} .c1 p{color:var(--grey)}
.c2{background:var(--coral);border-color:#fff} .c2 h3{color:var(--yellow)} .c2 p{color:#fff}
.story-row{display:grid;grid-template-columns:repeat(3,1fr);max-width:var(--wrap);margin:0 auto}
.story-row .card{padding:20px}
.c3{border-color:var(--coral);margin:-30px 0 0 -15px} .c3 h3{color:var(--coral)} .c3 p{color:var(--grey)}
.c4{margin:0 0 -50px} .c4 h3{color:var(--ink)} .c4 p{color:var(--grey)}
.c5{background:var(--grey);border-color:var(--yellow);margin:-45px -15px 0 15px} .c5 h3{color:var(--yellow)} .c5 p{color:var(--light)}

/* ---------- Menu ---------- */
.menu{background:var(--ink);padding:40px 0 60px;color:#fff}
.menu h2{font-family:var(--display);font-size:105px;color:#fff;text-align:center;line-height:1.3}
.btn{display:inline-block;background:var(--yellow);color:var(--ink);font-family:var(--card);font-size:15px;font-weight:300;line-height:1;padding:12px 24px;border-radius:45px;text-decoration:none}
.btn-row{text-align:center;margin:25px 0}
.dots{border:0;border-top:3px dotted var(--yellow);margin:15px 0}
.menu h3.sub{font-family:var(--card);font-size:25px;font-weight:400;color:#fff;text-align:center;margin:30px 0 20px}
.burgers{display:flex;height:600px;gap:0;border-radius:4px;overflow:hidden}
.burger{position:relative;flex:1;background-size:cover;background-position:center;transition:flex .4s ease;outline:none;min-width:0}
.burger:hover,.burger:focus,.burger:focus-within{flex:3}
.burger .ov{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 10px;text-align:center;background:rgba(0,0,0,.3);opacity:0;transition:opacity .3s}
.burger:hover .ov,.burger:focus .ov,.burger:focus-within .ov{opacity:1}
.burger h4{font-family:var(--card);font-size:26px;font-weight:600;color:#fff;margin-bottom:10px}
.burger p{color:#fff;max-width:420px}
.say{font-family:var(--body);color:var(--light);text-align:center;margin:30px 0 10px}

/* ---------- Reviews (static copy of the Google reviews widget) ---------- */
.reviews-head{display:flex;align-items:center;justify-content:center;gap:8px;font:600 14px/1 "Poppins",var(--roboto);color:#fff;margin:25px 0 30px}
.stars{display:inline-flex;gap:1px}
.stars svg{width:17px;height:17px}
.g-word{font:500 17px/1 "Poppins",var(--roboto);letter-spacing:-.5px}
.g-word span:nth-child(1),.g-word span:nth-child(4){color:#4285F4}.g-word span:nth-child(2),.g-word span:nth-child(6){color:#EA4335}.g-word span:nth-child(3){color:#FBBC05}.g-word span:nth-child(5){color:#34A853}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px;font-family:"Poppins",var(--roboto)}
.review{padding:8px;color:#fff;text-align:center;font-size:14px;line-height:1.5}
.review .who{display:flex;align-items:center;gap:10px;text-align:left;margin-bottom:10px}
.review .who img{width:40px;height:40px;border-radius:50%}
.review .who .nm{font-weight:600;font-size:15px;display:block}
.review .who .dt{font-size:12px;color:#aaa}
.review .who .gl{margin-left:auto;width:20px;height:20px}
.review .stars{justify-content:center;margin-bottom:8px}
.review p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- Instagram (static grid) ---------- */
.insta{background:#fff;padding:40px 0}
.insta h2{font-family:var(--card);font-size:32px;font-weight:600;color:var(--ink);text-align:center;margin-bottom:25px}
.insta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:1093px;margin:0 auto;padding:0 10px}
.insta-grid a{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#eee}
.insta-grid img{width:100%;height:100%;object-fit:cover}
.insta-grid .play::after{content:"";position:absolute;left:50%;top:50%;width:0;height:0;transform:translate(-30%,-50%);border-left:22px solid rgba(255,255,255,.9);border-top:14px solid transparent;border-bottom:14px solid transparent}
.insta-follow{display:inline-flex;align-items:center;gap:6px;background:#515151;color:#fff;font-size:13px;padding:6px 12px;border-radius:4px;text-decoration:none;margin-top:20px}

/* ---------- FAQ ---------- */
.faq{background:#fff;padding:30px 0 50px}
.faq h2{font-family:var(--display);font-size:35px;font-weight:400;color:var(--ink);text-align:center;margin-bottom:25px}
.faq-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;max-width:1093px;margin:0 auto;padding:0 10px;align-items:start}
.faq details{background:var(--yellow);margin-bottom:10px;border:1px solid rgba(0,0,0,.02)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:15px;font-weight:600;color:var(--slate)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{width:12px;height:12px;flex:none;position:relative}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;background:var(--slate);left:0;top:5px;width:12px;height:2px}
.faq summary .pm::after{transform:rotate(90deg);transition:transform .2s}
.faq details[open] summary .pm::after{transform:rotate(0)}
.faq summary .chev{margin-left:auto;width:8px;height:8px;border-right:2px solid var(--slate);border-bottom:2px solid var(--slate);transform:rotate(-45deg);transition:transform .2s}
.faq details[open] summary .chev{transform:rotate(45deg)}
.faq .ans{background:#fff;border:1px solid #eee;padding:15px;font-family:var(--body);color:#333;line-height:1.7}
.faq .ans a{color:inherit}

/* ---------- Join ---------- */
.join{position:relative;background:url("https://i0.wp.com/bornforburgers.com/wp-content/uploads/2022/07/PSX_20220703_153353-e1657668208249.jpg?fit=1000%2C1000&ssl=1") center/cover fixed;padding:70px 0;text-align:center;color:#fff}
.join::before{content:"";position:absolute;inset:0;background:var(--coral);opacity:.77}
.join>*{position:relative}
.join h2{font-family:var(--card);font-size:50px;color:#fff;margin-bottom:20px}
.join p{font-family:var(--roboto);max-width:1073px;margin:0 auto;padding:0 10px}
.join a{color:var(--yellow)}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:#fff;text-align:center;padding:40px 0 0}
.site-footer .round-logo{width:180px;margin:0 auto 15px}
.follow{font-family:var(--card);font-size:18px;font-weight:400;margin:15px 0 5px}
.contact{font-family:var(--body);margin:10px 0 40px}
.contact a{color:var(--yellow)}
.foot-cols{display:grid;grid-template-columns:300fr 299fr 446fr;gap:20px;max-width:1093px;margin:0 auto;padding:0 10px 40px}
.foot-cols h4{font-family:var(--card);font-size:16px;font-weight:300;color:var(--coral);margin-bottom:20px;text-transform:uppercase}
.hours{font-family:var(--body);color:var(--light);list-style:none;margin:0;padding:0}
.hours li{margin-bottom:22px}
.hours b{color:#fff}
.deliver{list-style:none;margin:0;padding:0;font-family:var(--body);font-weight:700}
.deliver li{margin-bottom:14px}
.deliver a{color:var(--yellow);text-decoration:none}
.map iframe{width:100%;height:300px;border:0;display:block}
.copy{font-family:var(--roboto);color:var(--light);padding:20px 0 25px}
.copy a{color:var(--yellow);text-decoration:none}

/* ---------- Simple pages (privacy policy etc.) ---------- */
.page-content{max-width:900px;margin:0 auto;padding:50px 20px 70px;font-family:var(--body);color:#333;line-height:1.7}
.page-content h1,.page-content h2{font-family:var(--card);color:var(--ink);margin:1.4em 0 .6em}
.page-content h1{font-size:42px;color:var(--coral);text-align:center;margin-top:0}
.page-content h2{font-size:24px}

/* ---------- Tablet ---------- */
@media (max-width:1024px){
  .hero h1{font-size:70px}
  .menu h2{font-size:80px}
  .insta-grid{grid-template-columns:repeat(2,1fr)}
  .reviews{grid-template-columns:repeat(2,1fr)}
}
/* ---------- Mobile ---------- */
@media (max-width:767px){
  .site-header .logo img{width:230px}
  .hero{height:612px}
  .hero h1{font-size:45px;line-height:1.4}
  .story{padding-bottom:20px}
  .story-top{grid-template-columns:1fr}
  .story-img img{width:227px}
  .story-text{margin-top:10px}
  .story-text h2{font-size:25px}
  .story-text .card{margin:0 0 20px}
  .story-row{grid-template-columns:1fr 1fr;gap:0}
  .c3,.c4,.c5{margin:0}
  .c5{grid-column:1/-1;margin-top:20px}
  .menu h2{font-size:45px}
  .burgers{flex-direction:column;height:auto}
  .burger{flex:none;height:100px;transition:height .4s}
  .burger:hover,.burger:focus,.burger:focus-within{flex:none;height:320px}
  .reviews{grid-template-columns:1fr}
  .insta-grid{grid-template-columns:repeat(3,1fr);gap:6px}
  .faq h2{font-size:25px}
  .faq-cols{grid-template-columns:1fr}
  .join{background-attachment:scroll}
  .join h2{font-size:28px}
  .foot-cols{grid-template-columns:1fr}
}

/* ---------- Map placeholder (loads after consent or "Show map") ---------- */
.map[data-bfb-map]{min-height:300px;background:#232323;color:var(--light);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;box-sizing:border-box;text-align:center;font-family:var(--roboto)}
.map[data-bfb-map] p{margin:0}
.map[data-bfb-map] button{font:600 15px var(--roboto);background:var(--yellow);color:var(--ink);border:0;border-radius:4px;padding:10px 18px;cursor:pointer}
.map[data-bfb-map].map-loaded{padding:0;display:block;min-height:0}
.map[data-bfb-map] [hidden]{display:none}
.map-note{font-size:12px;color:var(--muted)}
.map-note a{color:var(--yellow)}

/* ---------- Cookie consent banner ---------- */
.consent{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--ink);color:#fff;border-top:3px solid var(--yellow);padding:14px 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 24px;font:400 14px/1.5 var(--roboto);box-shadow:0 -4px 16px rgba(0,0,0,.35)}
.consent[hidden]{display:none}
.consent:focus{outline:none}
.consent strong{color:var(--yellow);margin-right:6px}
.copy .link-btn{background:none;border:0;padding:0 0 0 8px;font:inherit;color:var(--yellow);cursor:pointer}
.copy .link-btn[hidden]{display:none}
.consent p{margin:0;max-width:720px}
.consent a{color:var(--yellow)}
.consent-btns{display:flex;gap:12px}
.consent-btns button{min-width:110px;font:600 15px var(--roboto);padding:10px 18px;border-radius:4px;cursor:pointer;background:var(--yellow);color:var(--ink);border:2px solid var(--yellow)}
.consent-btns button:focus-visible,.map[data-bfb-map] button:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media (max-width:600px){.consent-btns{width:100%}.consent-btns button{flex:1}}
