/*
Theme Name: Sweet Sting Honey
Theme URI: https://www.sweetstinghoney.co.uk
Author: Sweet Sting Honey
Description: Sweet Sting Honey site for Northamptonshire honey, candles, nucs and delivery. Activate the theme and it will create the pages.
Version: 1.4.2
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: sweet-sting
*/

:root {
  --font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-script: "Great Vibes", cursive;
  --color-paper: #fff;
  --color-cream: #f6f2e7;
  --color-cream-deep: #eee9d6;
  --color-beige: #e8e3d0;
  --color-beige-btn: #e4d9c4;
  --color-beige-btn-hover: #d8cdb4;
  --color-ink: #2f2f2f;
  --color-muted: #4a4a4a;
  --color-gold: #8b7355;
  --color-script: #9b8064;
  --color-line: #c5c0b0;
  --color-footer: #eeece6;
  --color-footer-ink: #514b43;
}

html {
  scroll-behavior: smooth;
}
body {
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-serif);
  -webkit-font-smoothing: antialiased;
  margin: 0;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.65;
}

.skip-link {
  z-index:50;
  background:var(--color-ink);
  color:var(--color-paper);
  padding:.5rem .75rem;
  position:absolute;
  top:-4rem;
  left:1rem;
}
.skip-link:focus {
  top:.75rem;
}
.site-header {
  z-index:20;
  background:var(--color-paper);
  border-bottom:1px solid #eee;
  position:sticky;
  top:0;
}
.header-inner {
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  max-width:1120px;
  margin:0 auto;
  padding:.7rem 1.25rem;
  display:flex;
}
.brand {
  align-items:center;
  text-decoration:none;
  display:flex;
}
.brand img {
  width:auto;
  height:72px;
}
.nav-desktop {
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.35rem 1.1rem;
  display:flex;
}
.nav-desktop a,.nav-panel a {
  font-family:var(--font-serif);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--color-ink);
  font-size:13px;
  font-weight:500;
  text-decoration:none;
}
.nav-desktop a.is-active,.nav-panel a.is-active,.nav-desktop a:hover,.nav-panel a:hover {
  color:var(--color-gold);
}
.menu-toggle {
  border:1px solid var(--color-line);
  background:var(--color-paper);
  color:var(--color-ink);
  justify-content:center;
  align-items:center;
  min-width:44px;
  min-height:44px;
  display:none;
}
.nav-panel {
  display:none;
}
.nav-panel.is-open {
  background:var(--color-paper);
  border-top:1px solid #eee;
  flex-direction:column;
  gap:.85rem;
  padding:.25rem 1.25rem 1.1rem;
  display:flex;
}
.nav-panel a {
  align-items:center;
  min-height:44px;
  display:flex;
}
.hero-split {
  background:#f3f0e6;
  grid-template-columns:1.15fr 0.85fr;
  min-height:0;
  display:grid;
}
.hero-copy {
  text-align:center;
  background:transparent;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:3.5rem 2.5rem;
  display:flex;
}
.hero-title {
  font-family:var(--font-script);
  color:var(--color-gold);
  margin:0 0 .75rem;
  font-size:clamp(2.6rem,5.5vw,4rem);
  font-weight:400;
  line-height:1.15;
}
.hero-tag {
  color:var(--color-ink);
  margin:0 0 1.75rem;
  font-size:clamp(1.15rem,1.8vw,1.4rem);
}
.hero-photo {
  min-height:0;
  background:#f3f0e6;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.25rem;
}
.hero-photo img {
  object-fit:contain;
  object-position:center;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:380px;
  min-height:0;
  display:block;
}
.page-hero {
  background:var(--color-cream);
  grid-template-columns:1fr 1fr;
  height:420px;
  display:grid;
  overflow:hidden;
}
.page-hero-copy {
  text-align:center;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:2.5rem 3rem;
  display:flex;
}
.page-hero-copy h1 {
  max-width:24rem;
  color:var(--color-script);
  font-family:var(--font-script);
  margin:0 0 1.25rem;
  font-size:clamp(2.25rem,4.2vw,3.7rem);
  font-weight:400;
  line-height:1.12;
}
.page-hero-copy p {
  max-width:22rem;
  color:var(--color-script);
  margin:0;
  font-size:1.28rem;
  font-style:italic;
  line-height:1.5;
}
.page-hero-photo {
  min-width:0;
  height:420px;
}
.page-hero-photo img {
  object-fit:cover;
  width:100%;
  height:100%;
  display:block;
}
.section {
  padding:4rem 8%;
}
.section-sage,.section-contact,.section-shop {
  background:var(--color-beige);
}
.section-title {
  font-family:var(--font-script);
  color:var(--color-gold);
  text-align:center;
  justify-content:center;
  align-items:center;
  gap:1.5rem;
  margin:0 auto 2.5rem;
  font-size:clamp(2rem,3.8vw,2.75rem);
  font-weight:400;
  line-height:1.15;
  display:flex;
}
.section-title:before,.section-title:after {
  content:"";
  background:var(--color-line);
  flex:1;
  max-width:160px;
  height:1px;
}
.split {
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:2.5rem;
  max-width:1000px;
  margin:0 auto;
  display:grid;
}
.split p,.prose p,.card-copy p {
  color:var(--color-muted);
  margin:0 0 1rem;
  font-size:1rem;
  line-height:1.7;
}
.split p:last-child,.prose p:last-child {
  margin-bottom:0;
}
.photo img,.stack-photos img {
  object-fit:cover;
  width:100%;
  max-height:420px;
  display:block;
}
.stack-photos {
  gap:1rem;
  display:grid;
}
.stack-photos img {
  aspect-ratio:1;
  max-height:none;
}
.btn {
  background:var(--color-beige-btn);
  min-height:44px;
  color:var(--color-ink);
  font-family:var(--font-serif);
  letter-spacing:.12em;
  text-transform:uppercase;
  border:none;
  border-radius:999px;
  justify-content:center;
  align-items:center;
  padding:.7rem 1.6rem;
  font-size:12px;
  font-weight:600;
  line-height:1.2;
  text-decoration:none;
  display:inline-flex;
}
.btn:hover {
  background:var(--color-beige-btn-hover);
}
.btn-dark {
  color:#fff;
  background:#111;
}
.btn-dark:hover {
  color:#fff;
  background:#2a2a2a;
}
.btn-row {
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:.5rem;
  display:flex;
}
.prose {
  text-align:center;
  max-width:790px;
  margin:0 auto;
  padding:0 1.75rem 3.4rem;
}
.prose h2,.block-title {
  color:#8f7862;
  font-family:var(--font-script);
  margin:0 0 1.5rem;
  font-size:2rem;
  font-style:italic;
  font-weight:400;
  line-height:1.25;
}
.prose em {
  font-style:italic;
}
.prose-balanced {
  padding-top:3.25rem;
  padding-bottom:3.25rem;
}
.prose-balanced > p:last-child {
  margin-bottom:0;
}
.prose p.plain-lead {
  color:var(--color-ink);
  font-family:var(--font-serif);
  margin:1.6rem 0 1rem;
  font-size:1.25rem;
  font-style:normal;
  font-weight:700;
  line-height:1.45;
}
.prose > .plain-lead:first-child {
  margin-top:0;
}
.prose p.story-title {
  margin-bottom: 1.35rem;
  font-size: 1.6rem;
}
.prose p.story-lead {
  color: var(--color-ink);
  font-size: 1.18rem;
  line-height: 1.7;
}
.prose p.story-mark {
  color: var(--color-ink);
  margin: 1.35rem auto;
  max-width: 34rem;
  font-family: var(--font-serif);
  font-size: 1.28rem;
  font-weight: 700;
  line-height: 1.45;
}
.prose p.story-sign {
  margin-top: 1.5rem;
  color: var(--color-ink);
  font-size: 1.2rem;
}
.soft-band {
  background:var(--color-cream-deep);
  padding:2.9rem 2.5rem 3.25rem;
}
.card-grid {
  grid-template-columns:1fr 1fr;
  gap:1.9rem;
  max-width:1000px;
  margin:0 auto;
  display:grid;
}
.nuc-card {
  text-align:center;
  background:#fbfaf5;
  border:1px solid #7d695038;
  flex-direction:column;
  align-items:center;
  min-height:510px;
  padding:1.75rem 1.75rem 1.9rem;
  display:flex;
  box-shadow:0 5px 16px #4e3d2717;
}
.nuc-card h3 {
  color:#6f5a46;
  min-height:3.8rem;
  font-family:var(--font-serif);
  justify-content:center;
  align-items:center;
  margin:0 0 1.25rem;
  font-size:1.38rem;
  font-style:normal;
  font-weight:500;
  line-height:1.3;
  display:flex;
}
.nuc-card figure {
  width:100%;
  height:220px;
  margin:0 0 1.35rem;
  overflow:hidden;
}
.nuc-card img {
  object-fit:cover;
  width:100%;
  height:220px;
  display:block;
}
.nuc-card p {
  color:#554f48;
  margin:.3rem 0;
  line-height:1.65;
}
.product-grid {
  flex-wrap:wrap;
  justify-content:center;
  gap:1.75rem;
  max-width:1000px;
  margin:2rem auto 0;
  display:flex;
}
.product-card {
  text-align:center;
  width:min(100%,280px);
}
.product-card img {
  object-fit:cover;
  width:100%;
  height:220px;
  display:block;
}
.product-card p {
  color:var(--color-muted);
  margin:.45rem 0 0;
}
.product-card .btn {
  margin-top:.85rem;
}
.prose a {
  color:#876d52;
  text-underline-offset:2px;
}
.honey-block {
  padding:3.5rem 8% 1rem;
}
.honey-end {
  padding-bottom:3.5rem;
}
.honey-block h2 {
  text-align:center;
  font-family:var(--font-script);
  color:var(--color-gold);
  margin:0 0 2rem;
  font-size:clamp(1.8rem,3vw,2.4rem);
  font-weight:400;
}
.faq-list {
  text-align:center;
  max-width:720px;
  margin:0 auto;
}
.faq-list details {
  border-bottom:1px solid #7d695038;
  padding:.85rem 0;
}
.faq-list summary {
  cursor:pointer;
  color:#6f5a46;
  align-items:center;
  min-height:44px;
  font-size:1.05rem;
  font-weight:600;
  display:flex;
  justify-content:center;
}
.faq-list details p {
  text-align:center;
  color:var(--color-muted);
  margin:.75rem 0 .25rem;
}
.faq-contact {
  margin-top:3rem;
}
.faq-contact h2 {
  margin-top:0;
}
.gallery-lead {
  padding-bottom: 1.1rem;
}
.gallery-wrap {
  background:var(--color-cream);
  padding:0 1.75rem 3.4rem;
}
.carousel {
  max-width:980px;
  margin:0 auto;
  outline:none;
}
.carousel-stage {
  background:var(--color-cream-deep);
  aspect-ratio:16 / 10;
  position:relative;
  overflow:hidden;
  touch-action:pan-y;
}
.carousel-stage img {
  object-fit:contain;
  width:100%;
  height:100%;
  display:block;
  cursor:pointer;
  animation:gallery-fade .35s ease;
}
@keyframes gallery-fade {
  from { opacity:0; }
  to { opacity:1; }
}
.carousel-nav {
  width:48px;
  height:48px;
  color:var(--color-ink);
  background:var(--color-paper);
  border:none;
  border-radius:999px;
  justify-content:center;
  align-items:center;
  display:flex;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  box-shadow:0 1px 4px rgb(47 47 47 / 12%);
  cursor:pointer;
}
.carousel-nav.prev {
  left:.85rem;
}
.carousel-nav.next {
  right:.85rem;
}
.carousel-nav:hover {
  background:var(--color-beige-btn);
}
.carousel-caption {
  color:var(--color-ink);
  justify-content:space-between;
  align-items:baseline;
  gap:1rem;
  margin:1rem 0 1rem;
  font-family:var(--font-serif);
  font-size:1.2rem;
  display:flex;
}
.carousel-caption span {
  color:var(--color-gold);
  white-space:nowrap;
  font-weight:700;
}
.carousel-thumbs {
  gap:.65rem;
  padding-bottom:.4rem;
  display:flex;
  overflow-x:auto;
}
.carousel-thumbs button {
  flex:0 0 108px;
  height:78px;
  background:var(--color-cream-deep);
  border:2px solid transparent;
  padding:0;
  overflow:hidden;
  cursor:pointer;
}
.carousel-thumbs button[aria-current="true"] {
  border-color:var(--color-gold);
}
.carousel-thumbs img {
  object-fit:cover;
  width:100%;
  height:100%;
  display:block;
}
.contact-block {
  text-align:center;
  max-width:640px;
  margin:0 auto;
}
.contact-form {
  text-align:left;
  gap:.85rem;
  margin-top:1.5rem;
  display:grid;
}
.contact-form label {
  color:var(--color-ink);
  gap:.35rem;
  font-size:1rem;
  display:grid;
}
.contact-form input,.contact-form textarea {
  box-sizing:border-box;
  width:100%;
  font-family:var(--font-serif);
  color:var(--color-ink);
  background:#fff;
  border:1px solid #bbb;
  border-radius:0;
  padding:.7rem .85rem;
  font-size:1rem;
}
.contact-form textarea {
  resize:vertical;
  min-height:120px;
}
.field-error {
  color:#8a3b2b;
  font-size:.95rem;
}
.form-note {
  background:var(--color-paper);
  border:1px solid var(--color-line);
  text-align:left;
  padding:1rem 1.1rem;
}
.form-note p {
  margin:0 0 .75rem;
}
.form-actions {
  justify-content:center;
  margin-top:.25rem;
  display:flex;
}
.values {
  text-align:center;
  color:#71685c;
  background:#f0ece1;
  padding:2.4rem 0 0;
  overflow:hidden;
}
.values-head {
  width:min(65%,760px);
  margin:0 auto .5rem;
}
.values .section-title {
  color:#a08b70;
  margin-bottom:.6rem;
  font-size:2.3rem;
}
.values-kicker,.values-line {
  color:#71685c;
  max-width:760px;
  margin:0 auto;
  padding:0 1.25rem;
  font-size:1.15rem;
  line-height:1.65;
}
.values-line {
  margin-bottom:1.5rem;
}
.values-row {
  grid-template-columns:repeat(4,1fr);
  display:grid;
}
.values-row img {
  object-fit:cover;
  width:100%;
  height:300px;
  display:block;
}
.site-footer {
  background:var(--color-footer);
  color:var(--color-footer-ink);
  text-align:center;
  padding:1.8rem 1.25rem 2.1rem;
}
.site-footer p {
  max-width:460px;
  margin:0 auto 1rem;
  font-size:.95rem;
  line-height:1.7;
}
.socials {
  justify-content:center;
  gap:1rem;
  margin-bottom:1rem;
  display:flex;
}
.socials a {
  color:#fff;
  border-radius:50%;
  justify-content:center;
  align-items:center;
  width:44px;
  height:44px;
  text-decoration:none;
  display:flex;
}
.socials .fb {
  background:#1877f2;
}
.socials .ig {
  background:#e1306c;
}
.socials .x {
  background:#000;
}
.legal-links {
  justify-content:center;
  gap:1.25rem;
  font-size:.95rem;
  display:flex;
}
.legal-links a {
  color:var(--color-ink);
  text-decoration:none;
}
.legal-links a:hover {
  text-decoration:underline;
}
.legal {
  text-align:left;
  max-width:760px;
  margin:0 auto;
  padding:2.5rem 1.5rem 4rem;
}
.legal h1 {
  font-family:var(--font-script);
  color:var(--color-gold);
  text-align:center;
  margin:0 0 .5rem;
  font-size:clamp(2.2rem,4vw,3rem);
  font-weight:400;
}
.legal .updated {
  text-align:center;
  color:var(--color-muted);
  margin:0 0 2rem;
}
.legal h2 {
  font-family:var(--font-serif);
  color:#6f5a46;
  text-align:left;
  margin:1.6rem 0 .4rem;
  font-size:1.25rem;
  font-style:normal;
  font-weight:600;
}
.legal p,.legal li {
  color:var(--color-muted);
  line-height:1.7;
}
.legal ul {
  margin:.4rem 0 .8rem;
  padding-left:1.2rem;
}
.cookie {
  z-index:30;
  background:var(--color-paper);
  border:1px solid var(--color-line);
  max-width:520px;
  margin:0 auto;
  padding:1rem 1.1rem;
  position:fixed;
  bottom:1rem;
  left:1rem;
  right:1rem;
  box-shadow:0 8px 24px #4e3d271f;
}
.cookie p {
  color:var(--color-muted);
  margin:0 0 .75rem;
  font-size:.98rem;
}
.cookie .btn-row {
  margin:0;
}
@media (width<=860px) {
  .nav-desktop {
    display:none;
  }
  .menu-toggle {
    display:inline-flex;
  }
  .hero-split,.page-hero,.split,.card-grid {
    grid-template-columns:1fr;
  }
  .page-hero {
    height:auto;
  }
  .page-hero-photo {
    order:-1;
    height:280px;
  }
  .page-hero-copy {
    min-height:220px;
    padding:2.4rem 1.5rem;
  }
  .hero-copy {
    padding:2.5rem 1.5rem;
  }
  .hero-split {
    min-height:0;
    grid-template-columns:1fr;
  }
  .hero-photo,
  .hero-photo img {
    min-height:0;
    max-height:280px;
  }
  .section,.honey-block {
    padding-left:5%;
    padding-right:5%;
  }
  .section-title:before,.section-title:after {
    max-width:40px;
  }
  .nuc-card {
    min-height:0;
  }
  .soft-band {
    padding:2.2rem 1.25rem 2.6rem;
  }
  .values-row {
    grid-template-columns:1fr 1fr;
  }
  .values-row img {
    height:160px;
  }
  .values-head {
    width:min(92%,760px);
  }
  .brand img {
    height:60px;
  }
  .honey-jar-row,
  .honey-candle-row,
  .honey-places {
    grid-template-columns:1fr;
  }
}
@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
}
.honey-jars {
  max-width: 1100px;
  margin: 0 auto;
  padding: 3.25rem 1.75rem;
  text-align: center;
}
.honey-jars .plain-lead {
  margin: 0 0 1.75rem;
  color: var(--color-ink);
  font-family: var(--font-serif);
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4;
}
.honey-places {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
  align-items: start;
}
.honey-places article {
  min-width: 0;
}
.honey-places img {
  width: 100%;
  height: auto;
  object-fit: contain;
  background: #fff;
  display: block;
}
.honey-places h2 {
  margin: 0.9rem 0 0.4rem;
  color: var(--color-ink);
  font-family: var(--font-serif);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.2;
}
.honey-places p {
  margin: 0;
  color: var(--color-muted);
  font-size: 1.05rem;
  line-height: 1.65;
}
.honey-buy {
  margin: 2rem 0 0;
}
.honey-copy {
  max-width: 720px;
  margin: 2.5rem auto 0;
  text-align: center;
}
.honey-copy p {
  margin: 0 0 1rem;
  color: var(--color-muted);
  font-size: 1.25rem;
  line-height: 1.7;
}
.honey-copy p:last-child {
  margin-bottom: 0;
}
.honey-candle-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.75rem;
  max-width: 680px;
  margin: 2.25rem auto 1.75rem;
}
.honey-candle-row figure {
  margin: 0;
}
.honey-candle-row img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
  display: block;
}
.honey-candle-row figcaption {
  margin-top: 0.85rem;
  color: var(--color-ink);
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 700;
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
.menu-toggle svg{display:block}
.carousel-slide{width:100%;height:100%}
.carousel-slide[hidden]{display:none}
.carousel-slide img{width:100%;height:100%;object-fit:contain;display:block}
