/* Ryan's Foods — Public site shared CSS (Stage 2 font scale)
   Smart-scale font bump for older readers:
   body 14→17, btn 13→15, nav 12→13, small 11→12, headlines unchanged */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --green:#2e6c51;--green-dark:#1e4a37;--green-light:#eaf4ee;--green-mid:#c8e2d3;
  --orange:#ff751f;--cream:#f5f0e8;--off:#f8f7f4;--dark:#181c1a;
  --white:#fff;--text:#1a2018;--sub:#596b5e;--border:#dce8e2;
  --green-xlight:#f0f9f4;--orange-xlight:#fff8f5;--green-tint:#e0f2e9;--orange-tint:#ffe8d6;
  --shadow-sm:0 2px 8px rgba(0,0,0,.05);
  --shadow-md:0 4px 20px rgba(0,0,0,.07);
  --shadow-lg:0 12px 40px rgba(0,0,0,.12);
  --radius:12px;--radius-lg:16px;
  --font:'Montserrat',sans-serif;
  /* font scale — bumped for older readers */
  --fs-tiny:0.75rem;     /* 12px (was 11px) */
  --fs-sm:0.875rem;      /* 14px */
  --fs-base:1.0625rem;   /* 17px (was 14-15px) */
  --fs-md:1.125rem;      /* 18px */
  --fs-lg:1.25rem;       /* 20px */
}

html{font-size:16px;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

body{
  font-family:var(--font);
  background:var(--white);
  color:var(--text);
  overflow-x:hidden;
  line-height:1.6;
  font-size:var(--fs-base);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-display:swap;
}
img{max-width:100%;display:block;height:auto}
button{font-family:inherit;font-size:inherit}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--green);color:white;padding:.6rem 1rem;z-index:9999;border-radius:0 0 8px 0;font-weight:700;font-size:.85rem;text-decoration:none}
.skip-link:focus{left:0}
:focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:4px}

.sec{padding:5rem 8%}
.sec-inner{max-width:1160px;margin:0 auto}

.lbl{font-size:0.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin-bottom:.75rem;display:block}
.lbl-green{color:var(--green)}
.lbl-orange{color:var(--orange)}
.lbl-faded{color:rgba(255,255,255,.55)}

.h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;line-height:1.2;letter-spacing:-.025em}

.btn{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.85rem 1.7rem;border-radius:8px;
  font-size:0.9375rem;     /* 15px (was 13-14px) */
  font-weight:700;text-decoration:none;
  transition:all .2s;border:none;cursor:pointer;
  font-family:var(--font);white-space:nowrap;line-height:1.4;
}
.btn-orange{background:var(--orange);color:white}
.btn-orange:hover{background:#e5661a;transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-green{background:var(--green);color:white}
.btn-green:hover{background:var(--green-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-ghost{background:transparent;color:var(--text);border:1.5px solid var(--border)}
.btn-ghost:hover{border-color:var(--green);color:var(--green);background:var(--green-xlight)}
.btn-white{background:white;color:var(--orange)}
.btn-white:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-pill{border-radius:50px}

/* NAV */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  height:72px;background:var(--white);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;padding:0 5%;gap:0;
  transition:box-shadow .2s;
}
.nav-logo{text-decoration:none;flex-shrink:0;margin-right:1.2rem;display:flex;align-items:center}
.nav-logo img{height:50px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:.05rem;list-style:none;flex:1;justify-content:center}
.nav-links li{position:relative}
.nav-links a,.dropdown-toggle{
  text-decoration:none;color:var(--sub);
  font-size:0.8125rem;     /* 13px (was 12px) */
  font-weight:600;letter-spacing:.01em;
  padding:.45rem .6rem;border-radius:6px;
  transition:color .2s,background .2s;display:block;
  background:none;border:none;cursor:pointer;font-family:var(--font);
}
.nav-links a:hover,.dropdown-toggle:hover,.nav-links a.active,.dropdown-toggle.active{color:var(--green);background:var(--green-light)}
.nav-chevron{font-size:.5rem;margin-left:.22rem;display:inline-block;vertical-align:middle;transition:transform .2s}
.dropdown-toggle:hover .nav-chevron{transform:translateY(1px)}

.dropdown-bubble{display:none;position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);background:white;border-radius:16px;padding:.5rem;box-shadow:var(--shadow-lg);min-width:180px;z-index:600;border:1px solid var(--border)}
.dropdown-bubble.open{display:block;animation:bubblePop .18s ease}
@keyframes bubblePop{from{opacity:0;transform:translateX(-50%) translateY(-6px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.bubble-arrow{position:absolute;top:-7px;left:50%;transform:translateX(-50%);width:14px;height:7px;overflow:hidden}
.bubble-arrow::after{content:"";position:absolute;width:10px;height:10px;background:white;border:1px solid var(--border);transform:rotate(45deg);top:2px;left:2px;box-shadow:-1px -1px 3px rgba(0,0,0,.06)}
.dropdown-bubble a{display:block;padding:.6rem .95rem;border-radius:8px;color:var(--text);text-decoration:none;font-size:0.875rem;font-weight:600;transition:background .15s,color .15s;white-space:nowrap}
.dropdown-bubble a:hover{background:var(--green-light);color:var(--green)}

.nav-right{display:flex;align-items:center;gap:.55rem;margin-left:.8rem;flex-shrink:0}
.nav-wa{display:inline-flex;align-items:center;gap:.35rem;background:var(--green);color:white;padding:.5rem .95rem;border-radius:8px;font-size:0.8125rem;font-weight:700;text-decoration:none;transition:all .2s;white-space:nowrap}
.nav-wa:hover{background:var(--green-dark);transform:translateY(-1px)}

.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;width:34px;height:34px;align-items:center;justify-content:center}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:all .2s}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.lang-wrap{position:relative}
.lang-btn{width:32px;height:32px;border-radius:8px;border:1.5px solid var(--border);background:var(--off);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--sub);transition:all .2s;padding:0;flex-shrink:0}
.lang-btn:hover{border-color:var(--green);color:var(--green);background:var(--green-light)}
.lang-btn svg{width:15px;height:15px;stroke-width:1.8}
.lang-drop{display:none;position:absolute;top:calc(100% + 8px);right:0;background:white;border-radius:14px;padding:.5rem;box-shadow:var(--shadow-lg);border:1px solid var(--border);z-index:600;min-width:160px}
.lang-drop.open{display:grid;grid-template-columns:1fr 1fr;gap:2px;animation:bubblePop .15s ease}
.lang-opt{display:block;padding:.5rem .8rem;border-radius:7px;font-size:0.8125rem;font-weight:600;color:var(--text);cursor:pointer;background:none;border:none;font-family:var(--font);text-align:left;white-space:nowrap;transition:background .15s}
.lang-opt:hover{background:var(--green-light);color:var(--green)}

/* FOOTER */
.footer{background:var(--green-dark);padding:4.5rem 0 0;color:rgba(255,255,255,.85);font-size:0.9375rem;line-height:1.7}
.footer-inner{max-width:1160px;margin:0 auto;padding:0 8%}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.09)}
.footer-logo{height:44px;width:auto;margin-bottom:.9rem;display:block;filter:brightness(0) invert(1);opacity:.9}
.footer-brand p{font-size:0.875rem;color:rgba(255,255,255,.55);line-height:1.75;margin-bottom:.6rem}
.footer-addresses{margin-top:.8rem;margin-bottom:1.2rem}
.footer-addresses p{font-size:0.8125rem;color:rgba(255,255,255,.5);line-height:1.7}
.footer-addresses strong{color:rgba(255,255,255,.65)}
.footer-socials{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}
.fs{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .2s}
.fs:hover{background:var(--orange);transform:translateY(-2px)}
.fs svg{width:16px;height:16px;fill:rgba(255,255,255,.7)}
.fs:hover svg{fill:white}
.footer-col h4{font-size:0.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:1rem}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.footer-col ul li a{color:rgba(255,255,255,.65);text-decoration:none;font-size:0.875rem;font-weight:500;transition:color .2s}
.footer-col ul li a:hover{color:white}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1.6rem 8%;border-top:1px solid rgba(255,255,255,.06)}
.footer-copy{font-size:0.8125rem;color:rgba(255,255,255,.4)}
.footer-bottom-links{display:flex;gap:1.5rem}
.footer-bottom-links a{font-size:0.8125rem;color:rgba(255,255,255,.5);text-decoration:none;transition:color .2s}
.footer-bottom-links a:hover{color:white}

/* FABs */
.wa-fab{position:fixed;bottom:1.5rem;right:1.5rem;z-index:400;width:54px;height:54px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(37,211,102,.45);text-decoration:none;transition:transform .2s}
.wa-fab:hover{transform:scale(1.1)}
.wa-fab svg{width:28px;height:28px;fill:white}
.back-to-top{position:fixed;bottom:1.5rem;right:5.5rem;z-index:399;width:42px;height:42px;background:white;color:var(--green-dark);border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-md);opacity:0;transform:translateY(10px) scale(.9);pointer-events:none;transition:all .25s}
.back-to-top.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.back-to-top:hover{background:var(--green-dark);color:white;border-color:var(--green-dark)}
.back-to-top svg{width:18px;height:18px}

.page-hero{padding:120px 8% 4.5rem;background:var(--green-dark)}
.page-hero h1{font-size:clamp(2rem,3.8vw,3rem);font-weight:900;color:white;line-height:1.15;letter-spacing:-.025em;margin-bottom:.8rem}
.page-hero p{font-size:1.0625rem;color:rgba(255,255,255,.75);line-height:1.75;max-width:580px}

@media(max-width:1100px){.footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
  .nav{padding:0 5%}
  .nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:white;flex-direction:column;padding:1rem 5%;border-bottom:1px solid var(--border);gap:.2rem;z-index:400;box-shadow:0 8px 24px rgba(0,0,0,.08);max-height:calc(100vh - 72px);overflow-y:auto}
  .nav-links.open{display:flex}
  .nav-links li{width:100%}
  .nav-toggle{display:flex}
  .nav-links a,.dropdown-toggle{font-size:0.9375rem;padding:.6rem .9rem}
  .dropdown-bubble{position:static;transform:none;box-shadow:none;border:none;background:var(--green-light);border-radius:10px;padding:.4rem .4rem .4rem 1rem;margin-top:.3rem}
  .dropdown-bubble.open{display:block}
  .bubble-arrow{display:none}
  .dropdown-bubble a{font-size:0.875rem;color:var(--green);padding:.4rem .6rem}
  .has-dropdown{width:100%}
  .dropdown-toggle{width:100%;display:flex;justify-content:space-between;align-items:center}
  .lang-drop{right:auto;left:0}
  .sec{padding:3.5rem 5%}
  .footer-top{grid-template-columns:1fr}
  .footer-inner,.footer-bottom{padding-left:5%;padding-right:5%}
  .footer-bottom{flex-direction:column;text-align:center}
  .footer-bottom-links{justify-content:center;flex-wrap:wrap;gap:1rem}
  .page-hero{padding:100px 5% 3rem}
  .back-to-top{right:5rem;bottom:1.5rem;width:38px;height:38px}
}
@media print{.nav,.wa-fab,.back-to-top,.lang-wrap,.nav-toggle,.nav-wa,.skip-link{display:none!important}body{padding:0;color:black;background:white}.page-hero{background:white;color:black;padding:1rem 0}.page-hero h1,.page-hero p{color:black}.footer{background:white;color:black;border-top:1px solid #ccc;padding:1rem 0}.footer *{color:black!important}a{color:black;text-decoration:underline}img{max-width:300px}}
