/* Irish Peptide Research — shared stylesheet */
:root{
  --bg:#f7f6f2;
  --bg2:#f1ece2;
  --card:#fff;
  --text:#28251d;
  --muted:#6f6b63;
  --green:#01693A;
  --green-dark:#0d4d30;
  --gold:#D4AF37;
  --gold-soft:#f3e6ae;
  --border:#ddd5c7;
  --shadow:0 16px 40px rgba(40,37,29,.07)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);
  color:var(--text)
}
a{color:var(--green-dark)}
a:hover{color:var(--green)}

/* ── Layout ─────────────────────────────────── */
.container{width:min(1400px,calc(100% - 48px));margin:auto}

/* ── Header / nav ───────────────────────────── */
header{
  position:sticky;
  top:0;
  background:rgba(251,251,249,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  z-index:30
}
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 0;
  gap:14px
}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand img{
  width:56px;height:56px;
  border-radius:14px;
  border:1px solid #e4dcc9;
  background:#fff;
  object-fit:cover
}
.brand-title{
  margin:0;
  font:700 1.16rem/1.05 Cinzel,serif;
  letter-spacing:.05em;
  color:var(--green)
}
.brand p{margin:4px 0 0;color:var(--muted);font-size:.92rem}
nav a{
  text-decoration:none;
  color:var(--text);
  font-weight:600;
  margin-left:18px
}
nav a:hover{color:var(--green)}

/* ── Hero ───────────────────────────────────── */
.hero{padding:44px 0 24px}
.hero-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:24px;
  align-items:center
}
.tag{
  display:inline-block;
  padding:8px 14px;
  border-radius:999px;
  background:var(--gold-soft);
  color:#6f5400;
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.04em
}
.hero h1{
  margin:18px 0 12px;
  font:700 clamp(2rem,4vw,3.8rem)/1.02 Cinzel,serif;
  color:var(--green-dark)
}
.gold{color:var(--gold)}
.lead{
  max-width:65ch;
  color:var(--muted);
  font-size:1.04rem;
  line-height:1.65
}

/* ── Cards / panels ─────────────────────────── */
.panel,.card,.link-card,.basket-box{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:var(--shadow)
}
.panel{padding:22px}
.card{padding:18px}
.card h4{margin:0 0 8px;color:var(--green-dark)}
.card p{margin:0;color:var(--muted);line-height:1.55}
.link-card{padding:24px}
.link-card h2{margin:0 0 8px;font:700 1.65rem/1.08 Cinzel,serif;color:var(--green-dark)}
.link-card p{color:var(--muted);line-height:1.6;margin:0 0 16px}

/* ── Sections ───────────────────────────────── */
.section{padding:18px 0 52px}
.section h2{margin:0 0 8px;font:700 1.65rem/1.08 Cinzel,serif;color:var(--green-dark)}
.section h3{margin:0 0 8px;font:700 clamp(1.45rem,2vw,2rem)/1.08 Cinzel,serif;color:var(--green-dark)}
.section .sub,.sub{color:var(--muted);margin:0 0 16px;line-height:1.6}

/* ── Buttons ────────────────────────────────── */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid var(--border);
  text-decoration:none;
  font-weight:700;
  background:#fff;
  color:var(--text)
}
.btn.primary{
  background:var(--green);
  border-color:var(--green);
  color:#fff
}
.btn.primary:hover{background:var(--green-dark)}
.btn:disabled{
  background:#bfb8ad;
  border-color:#bfb8ad;
  color:#6d6660;
  cursor:not-allowed;
  opacity:.85
}

/* ── Delivery meta rows ─────────────────────── */
.meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  margin-top:10px
}

/* ── Page grid (main + sidebar basket) ──────── */
.two-col,.page-grid{
  display:grid;
  grid-template-columns:1fr 340px;
  gap:18px
}
.product-stack,.product-cards{display:grid;gap:18px}

/* ── Basket sidebar ─────────────────────────── */
.basket{
  position:sticky;
  top:92px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:24px;
  padding:20px;
  box-shadow:var(--shadow);
  grid-row:1 / -1;
  grid-column:2
}
.basket h3{font-family:Cinzel,serif;font-size:1.35rem;margin-bottom:12px}
.basket-list{display:grid;gap:10px}
.basket-item{
  padding:12px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#faf8f3
}
.line{display:flex;justify-content:space-between;gap:10px;font-size:.92rem}
.muted{color:var(--muted)}
.checkout-box{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.summary-row{display:flex;justify-content:space-between;margin:6px 0}

/* ── Product dose table ─────────────────────── */
.table-wrap{
  margin-top:14px;
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  background:#fff
}
.dose-table{width:100%;border-collapse:collapse}
.dose-table th,.dose-table td{
  padding:12px 14px;
  text-align:left;
  border-bottom:1px solid var(--border);
  font-size:.95rem
}
.dose-table th{background:#faf8f3;color:var(--green-dark);font-weight:700}
.dose-table tr:last-child td{border-bottom:none}
.price{font-weight:700;color:var(--green-dark);white-space:nowrap}
.stock-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:700;
  white-space:nowrap
}
.stock-badge.in{background:#e8f6ed;color:#0a7a3b}
.stock-badge.bo{background:#fff4e8;color:#a05a00}
.action-cell{text-align:right}
.price-notice{
  margin-top:4px;
  padding:4px 8px;
  border-radius:8px;
  background:#fff3cd;
  color:#856404;
  font-size:.8rem
}
.research-badge{
  display:inline-block;
  margin:4px 0 10px;
  padding:4px 10px;
  border-radius:999px;
  background:var(--gold-soft);
  color:#6f5400;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.04em
}

/* ── Blog ───────────────────────────────────── */
.blog-list{display:grid;gap:16px}
.entry{background:var(--card);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}
.entry-toggle{
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:20px 22px;
  background:none;
  border:0;
  text-align:left;
  cursor:pointer
}
.entry-toggle:hover{background:#fbfaf7}
.entry-kicker{
  display:inline-block;
  margin-bottom:8px;
  padding:6px 10px;
  border-radius:999px;
  background:#f4efe0;
  color:#6f5400;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase
}
.entry h2{margin:0 0 8px;color:var(--green-dark);font:700 1.22rem/1.2 Cinzel,serif}
.entry p{margin:0;color:var(--muted);line-height:1.65}
.chev{
  flex:0 0 auto;
  width:42px;height:42px;
  border-radius:12px;
  border:1px solid var(--border);
  display:grid;
  place-items:center;
  background:#fff;
  color:var(--green-dark);
  transition:transform .22s ease,background .22s ease
}
.entry.open .chev{transform:rotate(180deg);background:#f8f4ea}
.entry-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
.entry.open .entry-body{grid-template-rows:1fr}
.entry-body-inner{overflow:hidden}
.entry-content{padding:0 22px 22px;border-top:1px solid var(--border)}
.entry-date{font-size:.78rem;color:var(--muted);margin-bottom:6px;display:block;font-weight:600}
.entry-content .content-wrap{padding-top:18px}
.entry-content p+p{margin-top:12px}
.source{font-size:.88rem;color:var(--muted);margin-top:16px;padding-top:14px;border-top:1px solid var(--border);display:block}
.blog-cta{display:inline-block;margin-top:14px;font-weight:700;color:var(--green-dark);text-decoration:none;border-bottom:2px solid var(--gold)}
.blog-cta:hover{color:var(--green)}

/* ── Footer ─────────────────────────────────── */
.site-footer{
  margin-top:40px;
  padding:18px 0 30px;
  border-top:1px solid #ddd5c7;
  background:rgba(251,251,249,.85)
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  font-size:.92rem;
  color:#6f6b63
}
.site-footer a{color:#0d4d30;text-decoration:none;font-weight:600}
.site-footer a:hover{text-decoration:underline}
.social-links{display:flex;align-items:center;gap:10px}
.social-links a{display:flex;align-items:center;color:#0d4d30;opacity:.75;transition:opacity .15s}
.social-links a:hover{opacity:1;text-decoration:none}
.social-links img{filter:invert(20%) sepia(40%) saturate(600%) hue-rotate(100deg)}

/* ── Mobile sticky bar ──────────────────────── */
.mobile-sticky{display:none}

/* ── Responsive ─────────────────────────────── */
@media (max-width:1100px){
  .hero-grid,.two-col,.page-grid{grid-template-columns:1fr}
  .basket{position:static;grid-row:auto;grid-column:auto}
}
@media (max-width:720px){
  nav{display:none}
  .hero{padding-top:28px}
  .dose-table th,.dose-table td{padding:10px;font-size:.88rem}
  .action-cell .btn{width:100%;min-width:90px}
  .mobile-sticky{
    position:fixed;
    left:0;right:0;bottom:0;
    display:flex;
    gap:10px;
    padding:12px 16px;
    background:rgba(247,246,242,.95);
    backdrop-filter:blur(12px);
    border-top:1px solid var(--border)
  }
  body{padding-bottom:84px}
  .mobile-sticky .btn{flex:1}
}
