/*
Theme Name: Kairos Tallow Co
Theme URI: https://kairosregen.com
Author: Kairos
Description: Custom clean theme for Kairos Tallow Co.
Version: 0.1.0
Text Domain: kairos-tallow
*/

:root{
  --kairos-bg: #ffffff;
  --kairos-ink: #111111;
  --kairos-muted: #6b7280;
  --kairos-border: #e5e7eb;
  --kairos-topbar-bg: #111111;
  --kairos-topbar-ink: #ffffff;
  --kairos-accent: #111111;
  --kairos-container: 1200px;
  --kairos-logo-max-height: 56px;
}

*{ box-sizing: border-box; }
html{
  margin: 0;
  padding: 0;
  overflow-y: scroll; /* keep layout from shifting between pages */
  scrollbar-gutter: stable;
}
body{ margin: 0; padding: 0; }
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color: var(--kairos-ink);
  background: var(--kairos-bg);
}

body.home,
body.front-page{
  overflow-x: hidden;
}

img{ max-width: 100%; height: auto; }

a{ color: inherit; text-decoration: none; }
a:hover{ text-decoration: underline; }

.kairos-container{
  max-width: var(--kairos-container);
  margin: 0 auto;
  padding: 0 16px;
}

/* Top bar */
.kairos-topbar{
  background: var(--kairos-topbar-bg);
  color: var(--kairos-topbar-ink);
  font-size: 13px;
  line-height: 1;
}
.kairos-topbar-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 0;
}
.kairos-topbar-left,
.kairos-topbar-right{
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.kairos-topbar a{ color: var(--kairos-topbar-ink); }
.kairos-topbar .kairos-ig{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.kairos-ig-label{
  font-weight: 600;
  letter-spacing: .2px;
}
.kairos-icon{
  width: 16px;
  height: 16px;
  display: inline-block;
}

.kairos-topbar-sep{
  width: 1px;
  height: 14px;
  background: rgba(255,255,255,.25);
  display: inline-block;
}

/* Main header */
.kairos-header{
  background: #ffffff;
  border-bottom: 1px solid var(--kairos-border);
}
.kairos-header-inner{
  display: grid;
  grid-template-columns: 220px 1fr 220px;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
}

.kairos-brand{
  display: flex;
  align-items: center;
  gap: 12px;
}

.kairos-header-logo{
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
.kairos-header-logo img{
  display: block;
  width: auto;
  max-height: var(--kairos-logo-max-height);
}

/* WordPress Custom Logo */
.custom-logo-link{
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
.custom-logo{
  display: block;
  width: auto;
  max-height: var(--kairos-logo-max-height);
}

.kairos-farm-icon{
  display: block;
  width: auto;
  max-height: 42px;
}
.kairos-site-title{
  font-weight: 700;
  letter-spacing: .2px;
}

.kairos-search{
  width: 100%;
}
.kairos-search .kairos-product-search{
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--kairos-border);
  border-radius: 999px;
  padding: 6px 8px 6px 14px;
  background: #fff;
}
.kairos-search input[type="search"],
.kairos-search .search-field{
  flex: 1;
  border: 0;
  outline: none;
  font-size: 14px;
  min-width: 0;
}

/* Search button: black background + white icon */
.kairos-search .kairos-search-btn{
  border: 0;
  background: #111;
  color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  appearance: none;
}
.kairos-search .kairos-search-btn svg{
  display: block;
}

.kairos-search .kairos-search-btn:hover{
  background: #000;
}

.kairos-search .search-field::placeholder,
.kairos-search input[type="search"]::placeholder{
  color: #9ca3af;
}

.kairos-actions{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 14px;
}

/* Mobile header (separate layout; desktop header/menu remain unchanged) */
.kairos-mobile-header{ display: none; }
.kairos-mobile-stickybar{ display: none; }

.kairos-mobile-bar{
  background: #fff;
  border-bottom: 1px solid var(--kairos-border);
}

.kairos-mobile-bar-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
}

.kairos-mobile-logo{
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

.kairos-mobile-logo img{
  display: block;
  width: auto;
  max-height: 46px;
}

.kairos-mobile-actions{
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.kairos-mobile-search{
  background: #fff;
  border-bottom: 1px solid var(--kairos-border);
  padding: 10px 0 12px;
}

.kairos-mobile-search .kairos-product-search{
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--kairos-border);
  border-radius: 999px;
  padding: 6px 8px 6px 14px;
  background: #fff;
}

.kairos-mobile-search input[type="search"],
.kairos-mobile-search .search-field{
  flex: 1;
  border: 0;
  outline: none;
  font-size: 14px;
  min-width: 0;
}

.kairos-mobile-search .kairos-search-btn{
  border: 0;
  background: #111;
  color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  appearance: none;
}

.kairos-mobile-search .kairos-search-btn:hover{ background: #000; }
.kairos-action{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--kairos-border);
  border-radius: 999px;
  background: #fff;
}
.kairos-cart-count{
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--kairos-accent);
  color: #fff;
  font-size: 11px;
  line-height: 18px;
  text-align: center;
  padding: 0 5px;
}

/* Simple content wrapper */
.kairos-content{ padding: 0; }

/* Hero */
.kairos-hero{
  position: relative;
  min-height: 74vh;
  background-color: #0b0b0b;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
}
.kairos-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.41);
}
.kairos-hero .kairos-container{
  position: relative;
  max-width: none;
  margin: 0;
  padding-left: clamp(24px, 5vw, 80px);
  padding-right: clamp(24px, 5vw, 80px);
}

.kairos-hero-badge{
  position: absolute;
  top: 24px;
  right: 24px;
  width: clamp(160px, 14vw, 240px);
  max-width: 44vw;
  z-index: 2;
  pointer-events: none;
}
.kairos-hero-badge img{
  display: block;
  width: 100%;
  height: auto;
}

.kairos-hero-inner{
  position: relative;
  padding: 92px 0;
  width: 100%;
  max-width: min(980px, calc(100% - clamp(190px, 18vw, 320px)));
  margin: 0;
  color: #fff;
  text-align: left;
  padding-right: 0;
}
.kairos-hero h1{
  margin: 0 0 12px;
  font-size: clamp(32px, 4.2vw, 56px);
  line-height: 1.22;
  letter-spacing: .2px;
  text-shadow: 0 2px 18px rgba(0,0,0,.55);
  padding-bottom: .12em;
  overflow: visible;
}
.kairos-hero p{
  margin: 0 0 22px;
  font-size: 18px;
  line-height: 1.5;
  color: rgba(255,255,255,.92);
  text-shadow: 0 2px 18px rgba(0,0,0,.55);
  margin-left: 0;
  margin-right: 0;
  max-width: 80ch;
}
.kairos-hero-actions{
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.kairos-hero-actions .kairos-btn{
  height: 48px;
  padding: 0 22px;
  min-width: 190px;
}



/* Buttons */
.kairos-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 600;
  letter-spacing: .2px;
  text-decoration: none;
}
.kairos-btn:hover{ text-decoration: none; }
.kairos-btn--primary{
  background: #fff;
  color: #111;
}
.kairos-btn--primary:hover{ opacity: .9; }
.kairos-btn--secondary{
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.55);
}
.kairos-btn--secondary:hover{ border-color: #fff; }

.kairos-btn--dark{
  background: #111;
  color: #fff;
}
.kairos-btn--dark:hover{ background: #000; }

.kairos-section{ padding: 28px 0; }
.kairos-h2{ margin: 0 0 10px; font-size: 32px; }
.kairos-lead{ margin: 0; color: var(--kairos-muted); }

/* Full-width CTA */
.kairos-cta{
  position: relative;
  background: #0b0b0b;
  color: #fff;
  padding: 56px 0;
  background-size: cover;
  background-position: center;
}

.kairos-cta--has-bg::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.45) 55%, rgba(0,0,0,.22) 100%);
}

.kairos-cta .kairos-container{
  position: relative;
}
.kairos-cta-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.kairos-cta-title{
  margin: 0 0 10px;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.1;
  letter-spacing: .2px;
}
.kairos-cta-text{
  margin: 0;
  max-width: 760px;
  color: rgba(255,255,255,.86);
  line-height: 1.5;
  font-size: 16px;
}
.kairos-cta-actions{ flex: 0 0 auto; }

/* About section (below delivery CTA) */
.kairos-about{
  padding: 64px 0;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.kairos-about-inner{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 34px;
  align-items: start;
}
.kairos-about-media{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
}
.kairos-about-media img{
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transform: scale(1.01);
}
.kairos-about-media::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.00), rgba(0,0,0,.06));
  pointer-events: none;
}
.kairos-about-copy{ position: relative; z-index: 1; }
.kairos-about-eyebrow{
  margin: 0 0 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #111;
}
.kairos-about-copy .kairos-h2{
  margin: 0 0 14px;
  position: relative;
  padding-left: 14px;
}
.kairos-about-copy .kairos-h2::before{
  content: "";
  position: absolute;
  left: 0;
  top: .2em;
  bottom: .2em;
  width: 4px;
  border-radius: 999px;
  background: #dc2626;
}
.kairos-about-copy p{
  margin: 0 0 12px;
  color: #111;
  line-height: 1.65;
  max-width: 72ch;
}
.kairos-about-copy p:last-child{ margin-bottom: 0; }

.kairos-about-quote{
  margin: 12px 0 14px;
  padding: 12px 14px;
  border-left: 4px solid #dc2626;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 42px rgba(0,0,0,.06);
  font-weight: 600;
}
.kairos-about-list{
  list-style: none;
  margin: 6px 0 14px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  color: #111;
}
.kairos-about-list li{
  line-height: 1.5;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.kairos-about-list li::before{
  content: "✓";
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(220,38,38,.12);
  color: #7f1d1d;
  font-weight: 900;
  margin-top: 1px;
}

/* Homepage main categories (below About section) */
.kairos-home-categories{
  padding: 0 0 64px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.kairos-home-categories-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.kairos-home-category{
  position: relative;
  display: block;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--kairos-border);
  background: #fff;
  text-decoration: none;
}

.kairos-home-category-media img{
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transform: scale(1.01);
}

.kairos-home-category::after{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.40);
  z-index: 0;
  pointer-events: none;
}

.kairos-home-category:hover,
.kairos-home-category:focus{
  text-decoration: none;
}

.kairos-home-category-body{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 16px 18px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}

.kairos-home-category-title{
  display: block;
  margin: 0;
  color: #fff;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: .2px;
  font-weight: 700;
}

.kairos-home-category-desc{
  display: block;
  margin: 0;
  max-width: 52ch;
  color: rgba(255,255,255,.88);
  line-height: 1.45;
  font-size: 14px;
}

.kairos-home-category-btn{
  margin-top: 4px;
  border-color: rgba(255,255,255,.9);
}

/* About page (rebuilt from scratch): predictable stack layout */
.kairos-about-page{
  padding: 70px 0;
  background: #ffffff;
}

.kairos-about-page--alt{
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.kairos-about-page-inner{
  max-width: 1040px;
  margin: 0 auto;
}

.kairos-about-page-head,
.kairos-about-page-body{
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.kairos-about-page-eyebrow{
  margin: 0 0 10px;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #111;
}

.kairos-about-page-title{
  margin: 0 0 14px;
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.12;
  letter-spacing: .2px;
  position: relative;
  padding-left: 14px;
}

.kairos-about-page-title::before{
  content: "";
  position: absolute;
  left: 0;
  top: .18em;
  bottom: .18em;
  width: 4px;
  border-radius: 999px;
  background: #dc2626;
}

.kairos-about-page-lede{
  margin: 0 0 12px;
  color: #111;
  line-height: 1.75;
  font-size: 16px;
}

.kairos-about-page-media{
  margin: 26px 0;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 22px 70px rgba(0,0,0,.08);
  max-width: none;
}

.kairos-about-page-media img{
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.kairos-about-page-body p{
  margin: 0 0 12px;
  color: #111;
  line-height: 1.75;
  font-size: 16px;
}

.kairos-about-page-body p:last-child{ margin-bottom: 0; }

.kairos-about-page-quote{
  margin: 14px 0 16px;
  padding: 14px 16px;
  border-left: 4px solid #dc2626;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 42px rgba(0,0,0,.06);
  font-weight: 650;
}

.kairos-about-page-list{
  list-style: none;
  margin: 8px 0 16px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  color: #111;
}

.kairos-about-page-list li{
  line-height: 1.6;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.kairos-about-page-list li::before{
  content: "✓";
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(220,38,38,.12);
  color: #7f1d1d;
  font-weight: 900;
  margin-top: 2px;
}

@media (max-width: 720px){
  .kairos-cta{ padding: 40px 0; }
  .kairos-cta-inner{ flex-direction: column; align-items: flex-start; }

  .kairos-about{ padding: 44px 0; }
  .kairos-about-inner{ grid-template-columns: 1fr; gap: 18px; }
  .kairos-about-list{ grid-template-columns: 1fr; }

  .kairos-home-categories{ padding: 0 0 44px; }
  .kairos-home-categories-grid{ grid-template-columns: 1fr; }

  .kairos-about-page{ padding: 46px 0; }
  .kairos-about-page-media{ margin: 18px auto; }
  .kairos-about-page-list{ grid-template-columns: 1fr; }
}

.kairos-section-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.kairos-section-head--with-logo{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
.kairos-section-head--with-logo .kairos-h2{ justify-self: start; }
.kairos-section-head--with-logo .kairos-btn{ justify-self: end; }
.kairos-section-head-logo{ justify-self: center; }
.kairos-section-head-logo img{ display: block; width: auto; height: 44px; }

/* Carousel */
.kairos-carousel{
  position: relative;
}
.kairos-carousel-track{
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding: 6px 32px 14px;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 24px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
}
.kairos-carousel-track::-webkit-scrollbar{ height: 0; width: 0; }

.kairos-carousel-btn{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid var(--kairos-border);
  background: #fff;
  color: #111;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  box-shadow: 0 10px 25px rgba(0,0,0,.12);
}
.kairos-carousel-btn:hover{ background: #f3f4f6; }
.kairos-carousel-btn--prev{ left: 8px; }
.kairos-carousel-btn--next{ right: 8px; }

/* Product cards */
.kairos-product-card{
  flex: 0 0 calc((100% - 16px * 3) / 4);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid var(--kairos-border);
  border-radius: 16px;
  overflow: hidden;
}
.kairos-product-media{
  position: relative;
}
.kairos-product-image{
  display: block;
  line-height: 0;
}
.kairos-product-image img{
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}
.kairos-card-actions{
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}
.kairos-card-actions a.added_to_cart,
.kairos-card-actions a.added_to_cart.wc-forward{
  display: none !important;
}
.kairos-card-action{
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.92);
  color: #111;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  backdrop-filter: blur(6px);
}
.kairos-card-action:hover{ background: #fff; }

.kairos-card-action.kairos-wishlist-toggle.is-active{
  border-color: rgba(17,17,17,.32);
  background: #fff;
}

.kairos-product-body{
  padding: 14px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 10px;
}
.kairos-product-body > .kairos-btn{
  margin-top: auto;
}
.kairos-product-title{
  margin: 0;
  font-size: 16px;
  line-height: 1.25;
  min-height: 2.5em; /* Reserve space for 2 lines to keep cards equal height */
}
.kairos-product-title a{
  text-decoration: none;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
.kairos-product-title a:hover{ text-decoration: underline; }
.kairos-product-price{
  display: block;
  font-weight: 800;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--kairos-ink);
}

/* Snackbar */
.kairos-snackbar{
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%) translateY(14px);
  z-index: 9999;
  width: min(720px, calc(100% - 32px));
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.kairos-snackbar.is-visible{
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.kairos-snackbar__inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 12px 12px 14px;
  border-radius: 16px;
  background: var(--kairos-topbar-bg);
  color: var(--kairos-topbar-ink);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 10px 25px rgba(0,0,0,.22);
}
.kairos-snackbar__message{
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kairos-snackbar__action.kairos-btn{
  height: 36px;
  padding: 0 14px;
  flex: 0 0 auto;
}

/* Wishlist page */
.kairos-wishlist-head{
  display: grid;
  gap: 6px;
  margin-bottom: 16px;
}
.kairos-wishlist-empty{
  margin: 0;
  padding: 14px;
  border-radius: 16px;
  border: 1px dashed rgba(0,0,0,.18);
  color: var(--kairos-muted);
  line-height: 1.55;
  background: #fff;
}

.kairos-wishlist-list{
  display: grid;
  gap: 14px;
}

.kairos-wishlist-row{
  width: 100%;
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) 220px;
  gap: 16px;
  align-items: center;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--kairos-border);
  background: #fff;
  box-shadow: 0 18px 55px rgba(0,0,0,.06);
}

.kairos-wishlist-media{
  display: block;
  line-height: 0;
}

.kairos-wishlist-media img{
  width: 100%;
  height: 140px;
  object-fit: cover;
  border-radius: 16px;
  display: block;
}

.kairos-wishlist-info{
  min-width: 0;
  display: grid;
  gap: 8px;
}

.kairos-wishlist-title{
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
}

.kairos-wishlist-title a{ text-decoration: none; }
.kairos-wishlist-title a:hover{ text-decoration: underline; }

.kairos-wishlist-price{
  font-weight: 800;
  color: var(--kairos-ink);
}

.kairos-wishlist-desc{
  margin: 0;
  color: var(--kairos-muted);
  line-height: 1.5;
}

.kairos-wishlist-actions{
  display: grid;
  gap: 10px;
  justify-items: stretch;
}

.kairos-btn--outline{
  background: #fff;
  color: var(--kairos-ink);
  border-color: rgba(0,0,0,.14);
}

.kairos-btn--outline:hover{
  border-color: rgba(0,0,0,.22);
}

@media (max-width: 860px){
  .kairos-wishlist-row{
    grid-template-columns: 140px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: start;
  }
  .kairos-wishlist-actions{
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 540px){
  .kairos-wishlist-row{
    grid-template-columns: 1fr;
  }
  .kairos-wishlist-media img{ height: 220px; }
  .kairos-wishlist-actions{
    grid-template-columns: 1fr;
  }
}
.kairos-product-price del{ color: var(--kairos-muted); font-weight: 700; }
.kairos-product-price ins{ text-decoration: none; }

@media (max-width: 900px){
  .kairos-product-card{ flex-basis: calc((100% - 16px) / 2); }
  .kairos-product-image img{ height: 210px; }
}

@media (max-width: 600px){
  .kairos-section-head{ align-items: flex-start; }

  .kairos-section-head--with-logo{
    grid-template-columns: 1fr;
    justify-items: start;
    gap: 10px;
  }
  .kairos-section-head--with-logo .kairos-btn{ justify-self: start; }
  .kairos-section-head-logo{ justify-self: start; }
  .kairos-section-head-logo img{ height: 38px; }

  .kairos-product-card{ flex-basis: 86%; }
  .kairos-product-image img{ height: 200px; }
  .kairos-carousel-btn--prev{ left: 8px; }
  .kairos-carousel-btn--next{ right: 8px; }
}

/* Farm & animals gallery (dense grid, max 2 rows) */
.kairos-farm-gallery{
  padding: 0;
}
.kairos-farm-grid{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
}
.kairos-farm-tile{
  border-radius: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
}
.kairos-farm-thumb{
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* Enforce max 2 rows by limiting visible tiles at each breakpoint */
@media (max-width: 1100px){
  .kairos-farm-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .kairos-farm-tile:nth-child(n+9){ display: none; }
}

@media (max-width: 820px){
  .kairos-farm-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kairos-farm-tile:nth-child(n+7){ display: none; }
}

@media (max-width: 520px){
  .kairos-farm-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kairos-farm-tile:nth-child(n+5){ display: none; }
}

/* Quality banner (replaces farm gallery) */
.kairos-quality{
  position: relative;
  padding: 0;
  background: #0b0b0b;
  color: #fff;
}

.kairos-quality-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: 50% 20%;
  filter: saturate(1.02) contrast(1.02);
}

.kairos-quality::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0,0,0,.72);
}

.kairos-quality .kairos-container{ position: relative; z-index: 2; }

.kairos-quality-inner{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: center;
  gap: 22px;
  padding: 64px 0;
}

.kairos-quality-title{
  margin: 0 0 10px;
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.1;
  letter-spacing: .2px;
  text-shadow: 0 2px 18px rgba(0,0,0,.55);
}

.kairos-quality-text{
  margin: 0;
  max-width: 68ch;
  color: rgba(255,255,255,.9);
  line-height: 1.55;
  font-size: 16px;
  text-shadow: 0 2px 18px rgba(0,0,0,.55);
}

.kairos-quality-icon{
  display: flex;
  justify-content: flex-end;
  justify-self: end;
  width: fit-content;
  max-width: 100%;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 55px rgba(0,0,0,.38);
}

.kairos-quality-icon img{
  width: min(320px, 100%);
  height: auto;
  opacity: .95;
  filter: drop-shadow(0 10px 28px rgba(0,0,0,.22));
}

@media (max-width: 820px){
  .kairos-quality-inner{ grid-template-columns: 1fr; padding: 52px 0; }
  .kairos-quality-icon{ justify-content: flex-start; justify-self: start; }
  .kairos-quality-icon img{ width: min(280px, 100%); }
}

@media (max-width: 900px){
  .kairos-header-inner{
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .kairos-actions{ justify-content: flex-start; }

  /* Mobile-specific header; keep desktop markup untouched but hidden on mobile */
  .kairos-mobile-header{ display: block; }
  .kairos-topbar,
  .kairos-header{ display: none; }
  .kairos-stickybar{ display: none !important; }

  /* Mobile sticky bar (appears on scroll; logo + icons only) */
  .kairos-mobile-stickybar{
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1001;
    background: #fff;
    border-bottom: 1px solid var(--kairos-border);
    transform: translateY(-110%);
    opacity: 0;
    pointer-events: none;
    transition: transform .18s ease, opacity .18s ease;
  }

  body.kairos-sticky-visible .kairos-mobile-stickybar{
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .kairos-mobile-stickybar-inner{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
  }

  .kairos-mobile-sticky-logo{
    display: inline-flex;
    align-items: center;
    line-height: 0;
    text-decoration: none;
  }

  .kairos-mobile-sticky-logo img{
    display: block;
    width: auto;
    max-height: 46px;
  }

  .kairos-mobile-sticky-actions{
    display: inline-flex;
    align-items: center;
    gap: 10px;
  }

  /* Hamburger toggles the existing primary nav on mobile */
  .kairos-mainnav{ display: none; }
  body.kairos-mobile-menu-open .kairos-mainnav{ display: block; }

  /* If opened while scrolled (sticky bar visible), keep the menu in view */
  body.kairos-sticky-visible.kairos-mobile-menu-open .kairos-mainnav{
    position: fixed;
    left: 0;
    right: 0;
    top: 62px;
    z-index: 1000;
    background: #fff;
    border-bottom: 1px solid var(--kairos-border);
    max-height: calc(100vh - 62px);
    overflow: auto;
  }

  /* Logged-in admin bar: keep sticky bar and opened menu below it */
  body.admin-bar .kairos-mobile-stickybar{ top: var(--wp-admin--admin-bar--height, 46px); }
  body.admin-bar.kairos-sticky-visible.kairos-mobile-menu-open .kairos-mainnav{
    top: calc(62px + var(--wp-admin--admin-bar--height, 46px));
    max-height: calc(100vh - (62px + var(--wp-admin--admin-bar--height, 46px)));
  }

  /* Home: Tallow Products section head on mobile only */
  .kairos-section--tallow .kairos-section-head--with-logo{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
  }
  .kairos-section--tallow .kairos-section-head-logo{ display: none; }
  .kairos-section--tallow .kairos-section-head--with-logo .kairos-h2{ flex: 1 1 auto; min-width: 0; }
  .kairos-section--tallow .kairos-section-head--with-logo .kairos-btn{ flex: 0 0 auto; white-space: nowrap; }

  .kairos-mainnav-inner{ justify-content: flex-start; }
  .kairos-menu{
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .kairos-menu a{ padding: 10px 0; }

  /* Single product mobile layout */
  .kairos-product-page div.product{
    grid-template-columns: 1fr;
    gap: 16px;
  }

  /* Image first, full width */
  .kairos-product-page .woocommerce-product-gallery,
  .kairos-product-page div.product div.images,
  .kairos-product-page .kairos-single-gallery{
    width: 100% !important;
    max-width: none !important;
  }

  /* Summary: enforce requested order */
  .kairos-product-page div.product div.summary{
    display: flex;
    flex-direction: column;
  }

  .kairos-product-page div.product div.summary > h1.product_title,
  .kairos-product-page div.product div.summary > .product_title{
    order: 1;
    margin-top: 0;
  }

  .kairos-product-page div.product div.summary > p.price,
  .kairos-product-page div.product div.summary > .price{
    order: 2;
  }

  /* Delivery notice directly under price (full width) */
  .kairos-product-page div.product div.summary > .kairos-delivery-calendar-notice{
    order: 3;
    width: 100%;
  }

  /* Qty + button row */
  .kairos-product-page div.product div.summary > form.cart{
    order: 4;
    width: 100%;
  }

  /* Keep simple-product qty + button on one line */
  .kairos-product-page div.product div.summary > form.cart:not(.variations_form){
    flex-wrap: nowrap;
  }

  .kairos-product-page div.product div.summary > form.cart:not(.variations_form) .quantity{
    flex: 0 0 92px;
  }

  .kairos-product-page div.product div.summary > form.cart:not(.variations_form) .quantity .qty{
    width: 100%;
  }

  .kairos-product-page div.product div.summary > form.cart:not(.variations_form) .single_add_to_cart_button{
    flex: 1 1 auto;
    min-width: 0;
  }

  /* Rest of info after add-to-cart */
  .kairos-product-page div.product div.summary > .woocommerce-product-details__short-description{
    order: 5;
  }

  .kairos-product-page div.product div.summary > .product_meta{
    order: 6;
  }

  .kairos-product-page div.product div.summary > .woocommerce-product-rating{
    order: 7;
  }

  /* Related products: 2 per row on mobile */
  .kairos-related-products .kairos-related-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kairos-related-products ul.products,
  .kairos-product-page .related ul.products,
  .kairos-product-page .related.products ul.products,
  .kairos-product-page div.product > .related ul.products,
  .kairos-product-page div.product > .related.products ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px){
  .kairos-hero{ min-height: 66vh; }
  .kairos-hero .kairos-container{
    padding-left: 24px;
    padding-right: 24px;
    padding-top: 20px;
    padding-bottom: 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .kairos-hero-badge{
    position: static;
    width: 132px;
    max-width: 46vw;
    margin: 0 0 16px;
  }
  .kairos-hero-inner{
    padding: 0;
    padding-right: 0;
    text-align: center;
    margin: 0 auto;
  }
  .kairos-hero p{ font-size: 16px; }
  .kairos-hero-actions{ justify-content: center; }
  .kairos-hero-actions .kairos-btn{ min-width: 0; width: 100%; }
}

/* Primary nav (under header) */
.kairos-mainnav{
  background: #fff;
  border-bottom: 1px solid var(--kairos-border);
}
.kairos-mainnav-inner{
  padding: 10px 0;
  display: flex;
  justify-content: center;
}
.kairos-menu{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}
.kairos-menu a{
  display: inline-block;
  padding: 8px 0;
  font-size: 14px;
  color: #111;
  text-decoration: none;
  letter-spacing: .2px;
}
.kairos-menu a:hover{
  text-decoration: none;
  opacity: .75;
}

@media (max-width: 900px){
  .kairos-menu{ gap: 14px; }
}

/* Footer */
.kairos-footer{
  background: #000;
  color: rgba(255,255,255,.88);
  padding: 56px 0 26px;
}

.kairos-footer-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}

.kairos-footer-col--pages{
  justify-self: center;
  width: fit-content;
}

.kairos-footer-title{
  margin: 0 0 12px;
  color: #fff;
  font-size: 16px;
  letter-spacing: .2px;
}

.kairos-footer-text{
  margin: 0 0 14px;
  line-height: 1.55;
  max-width: 44ch;
}

.kairos-footer-contact{
  display: grid;
  gap: 8px;
}

.kairos-footer a{
  color: rgba(255,255,255,.88);
  text-decoration: none;
}
.kairos-footer a:hover{
  text-decoration: underline;
  color: #fff;
}

.kairos-footer-links{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.kairos-footer-bottom{
  margin-top: 34px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.12);
  font-size: 13px;
  color: rgba(255,255,255,.62);
}

@media (max-width: 900px){
  .kairos-footer{ padding: 44px 0 22px; }
  .kairos-footer-grid{ grid-template-columns: 1fr; gap: 22px; }
  .kairos-footer-text{ max-width: none; }

  /* Mobile only: left-align the Pages column (do not change desktop footer) */
  .kairos-footer-col--pages{ justify-self: start; width: auto; }
}

/* Delivery calendar page */
.kairos-page-hero{
  position: relative;
  background: #0b0b0b;
  color: #fff;
  padding: 72px 0;
  background-size: cover;
  background-position: center;
}
.kairos-page-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.80) 0%, rgba(0,0,0,.45) 58%, rgba(0,0,0,.22) 100%);
}
.kairos-page-hero .kairos-container{ position: relative; }
.kairos-page-hero-inner{ max-width: 900px; }
.kairos-page-hero--delivery .kairos-page-hero-inner{ max-width: none; }
.kairos-page-hero--delivery .kairos-page-hero-inner--split{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 26px;
  align-items: center;
}
.kairos-page-hero--delivery .kairos-page-hero-copy{ min-width: 0; }
.kairos-page-hero--delivery .kairos-page-hero-mark{
  justify-self: end;
  width: fit-content;
  max-width: 100%;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 18px 55px rgba(0,0,0,.42);
}
.kairos-page-hero--delivery .kairos-page-hero-mark img{
  display: block;
  width: min(320px, 100%);
  height: auto;
}
.kairos-page-hero-title{
  margin: 0 0 10px;
  font-size: clamp(34px, 4.2vw, 56px);
  line-height: 1.05;
  letter-spacing: .2px;
}
.kairos-page-hero-text{
  margin: 0;
  max-width: 70ch;
  color: rgba(255,255,255,.9);
  line-height: 1.55;
  font-size: 16px;
}

.kairos-page-hero--contact{
  background-position: 50% 30%;
}
.kairos-page-hero--contact::before{
  background: linear-gradient(90deg, rgba(0,0,0,.84) 0%, rgba(0,0,0,.55) 58%, rgba(0,0,0,.28) 100%);
}
.kairos-page-hero--contact .kairos-page-hero-inner{ max-width: 760px; }

/* Product category hero (Kairos Butchery & Deli) */
.kairos-shop-hero{
  position: relative;
  background: #0b0b0b;
  color: #fff;
  padding: 72px 0;
  background-size: cover;
  background-position: center;
}
.kairos-shop-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.84) 0%, rgba(0,0,0,.55) 58%, rgba(0,0,0,.28) 100%);
}
.kairos-shop-hero .kairos-container{ position: relative; }
.kairos-shop-hero-inner{ max-width: none; }
.kairos-shop-hero-title{
  margin: 0 0 10px;
  max-width: 980px;
  font-size: clamp(34px, 4.2vw, 56px);
  line-height: 1.05;
  letter-spacing: .2px;
}

.kairos-shop-hero-text{
  margin: 0;
  max-width: min(72ch, 980px);
  color: rgba(255,255,255,.9);
  line-height: 1.55;
  font-size: 16px;
}

.kairos-shop-hero-tools{
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: nowrap;
  width: 100%;
}

.kairos-shop-hero .woocommerce-result-count{
  margin: 0;
  color: rgba(255,255,255,.86);
  font-size: 14px;
  float: none;
}


.kairos-shop-hero .woocommerce-ordering{
  margin: 0;
  float: none;
  margin-left: auto;
}
.kairos-shop-hero .woocommerce-ordering select{
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.92);
  color: #111;
  padding: 0 14px;
  font-size: 14px;
  outline: none;
}
.kairos-shop-hero .woocommerce-ordering select:focus{
  border-color: rgba(255,255,255,.4);
  box-shadow: 0 0 0 4px rgba(255,255,255,.16);
}

.kairos-shop-body{
  padding: 34px 0 64px; /* space after hero + space after products */
}

.kairos-shop-layout{
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.kairos-shop-filters{
  position: sticky;
  top: 18px;
}

.kairos-shop-filters .kairos-widget{
  border: 1px solid var(--kairos-border);
  border-radius: 16px;
  background: #fff;
  padding: 14px;
  box-shadow: 0 18px 55px rgba(0,0,0,.06);
}
.kairos-shop-filters .kairos-widget + .kairos-widget{ margin-top: 14px; }

/* Widget contents */
.kairos-shop-filters ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.kairos-shop-filters li{
  margin: 0;
  padding: 0;
}

.kairos-shop-filters a{
  text-decoration: none;
}

.kairos-shop-filters a:hover{ text-decoration: none; }

.kairos-shop-filters .count{
  color: var(--kairos-muted);
  font-size: 12px;
  margin-left: 8px;
}

/* Product categories widget */
.kairos-shop-filters .product-categories li a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.02);
}

.kairos-shop-filters .product-categories li a:hover{
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.14);
}

/* Layered nav widget */
.kairos-shop-filters .woocommerce-widget-layered-nav-list__item a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.02);
}

.kairos-shop-filters .woocommerce-widget-layered-nav-list__item a:hover{
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.14);
}

.kairos-shop-filters .woocommerce-widget-layered-nav-list__item--chosen a{
  background: rgba(17,17,17,.10);
  border-color: rgba(17,17,17,.22);
}

/* Price filter widget */
.kairos-shop-filters .widget_price_filter .price_slider_wrapper{
  margin-top: 8px;
}

.kairos-shop-filters .widget_price_filter .ui-slider{
  height: 6px;
  border-radius: 999px;
  background: rgba(0,0,0,.10);
  border: 0;
}

.kairos-shop-filters .widget_price_filter .ui-slider .ui-slider-range{
  background: rgba(17,17,17,.65);
}

.kairos-shop-filters .widget_price_filter .ui-slider .ui-slider-handle{
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: #111;
  border: 2px solid #fff;
  top: -5px;
  box-shadow: 0 10px 25px rgba(0,0,0,.18);
}

.kairos-shop-filters .widget_price_filter .price_slider_amount{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
}

.kairos-shop-filters .widget_price_filter .price_slider_amount .button{
  border: 0;
  background: #111;
  color: #fff;
  height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  font-weight: 650;
  cursor: pointer;
}

.kairos-shop-filters .widget_price_filter .price_slider_amount .button:hover{ background: #000; }

.kairos-shop-filters .widget_price_filter .price_label{
  color: var(--kairos-muted);
  font-size: 13px;
}

.kairos-widget-title{
  margin: 0 0 10px;
  font-size: 14px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #111;
}

.kairos-shop-filters-empty{
  margin: 0;
  padding: 14px;
  border-radius: 16px;
  border: 1px dashed rgba(0,0,0,.18);
  color: var(--kairos-muted);
  line-height: 1.55;
  background: #fff;
}

body.kairos-no-scroll{ overflow: hidden; }

.kairos-mobile-filters-head{ display: none; }

.kairos-mobile-filters-title{
  font-weight: 750;
  letter-spacing: .2px;
}

.kairos-mobile-filters-close{
  border: 0;
  background: transparent;
  color: var(--kairos-muted);
  font-weight: 650;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 10px;
}

.kairos-mobile-filters-close:hover{
  background: rgba(0,0,0,.05);
  color: #111;
}

.kairos-mobile-filters-fab{
  position: fixed;
  right: 16px;
  bottom: 86px;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  display: none;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 10px 25px rgba(0,0,0,.22);
  z-index: 9990;
}

.kairos-mobile-filters-fab:hover{
  text-decoration: none;
  background: #000;
}

.kairos-mobile-filters-fab:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(17,17,17,.18), 0 10px 25px rgba(0,0,0,.22);
}

.kairos-mobile-filters-fab svg{ display: block; }

.kairos-mobile-filters-backdrop{ display: none; }

/* Category product grid -> Kairos product cards */
.kairos-shop-products{
  padding: 6px 0; /* space before products */
}

.kairos-shop-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.kairos-shop-grid .kairos-product-card{
  flex: initial; /* override carousel sizing */
  scroll-snap-align: unset;
  border-radius: 18px;
  box-shadow: 0 18px 55px rgba(0,0,0,.06);
}

.kairos-shop-grid .kairos-product-image img{ height: 240px; }

.kairos-shop-pagination{
  margin-top: 22px;
}

.kairos-shop-pagination .page-numbers{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  text-decoration: none;
}

.kairos-shop-pagination .page-numbers.current{
  background: #111;
  color: #fff;
  border-color: #111;
}

.kairos-shop-pagination .page-numbers:hover{ border-color: rgba(0,0,0,.22); }

/* Single product: meat delivery calendar notice */
.kairos-delivery-calendar-notice{
  margin: 16px 0;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--kairos-border);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.kairos-delivery-calendar-notice__text{
  display: grid;
  gap: 4px;
  min-width: 0;
}
.kairos-delivery-calendar-notice__text strong{
  font-size: 14px;
}
.kairos-delivery-calendar-notice__text span{
  color: var(--kairos-muted);
  font-size: 14px;
  line-height: 1.45;
}

.kairos-delivery-calendar-notice .kairos-btn{
  white-space: nowrap;
  flex: 0 0 auto;
  max-width: 100%;
}

/* Single product (WooCommerce) */
.kairos-product-page .woocommerce-breadcrumb{
  margin: 0 0 14px;
  color: var(--kairos-muted);
  font-size: 13px;
}
.kairos-product-page .woocommerce-breadcrumb a{ color: inherit; }

.kairos-product-page div.product{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.kairos-product-page .woocommerce-product-gallery,
.kairos-product-page .summary{
  float: none;
  width: auto;
}

/* Ensure the image fills the left column */
.kairos-product-page .woocommerce-product-gallery,
.kairos-product-page div.product div.images{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.kairos-product-page .woocommerce-product-gallery__wrapper,
.kairos-product-page .woocommerce-product-gallery__image,
.kairos-product-page .woocommerce-product-gallery__image a,
.kairos-product-page .woocommerce-product-gallery__image img{
  display: block;
  width: 100%;
}

/* Ensure the summary fills the right column */
.kairos-product-page .summary,
.kairos-product-page div.product div.summary{
  width: 100% !important;
  max-width: none !important;
}

.kairos-product-page .woocommerce-product-gallery__wrapper img,
.kairos-product-page .woocommerce-product-gallery img{
  border-radius: 18px;
}

.kairos-product-page .woocommerce-product-gallery{
  position: relative;
}

.kairos-single-gallery{
  position: relative;
}

.kairos-single-wishlist{
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 6;
}

.kairos-product-page .summary .price{
  color: var(--kairos-ink);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
  margin: 8px 0 14px;
}

/* Meat-only: make price much more prominent */
.kairos-is-meat .kairos-product-page .summary .price{
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font-size: 32px;
  font-weight: 800;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--kairos-ink);
}

.kairos-is-meat .kairos-product-page .summary .price del{
  color: var(--kairos-muted);
}

.kairos-product-page .summary .price del{
  color: var(--kairos-muted);
  font-weight: 600;
  font-size: 16px;
}

.kairos-product-page .summary .price ins{
  text-decoration: none;
}

.kairos-product-page form.cart{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* Variable products: stack cleanly and style variation choices as label buttons */
.kairos-product-page form.variations_form{
  display: block;
}

.kairos-product-page form.variations_form table.variations{
  margin: 0 0 10px;
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border: 0;
}

/* Variations: stack label above options and prevent horizontal overflow */
.kairos-product-page form.variations_form table.variations tbody,
.kairos-product-page form.variations_form table.variations tr,
.kairos-product-page form.variations_form table.variations th,
.kairos-product-page form.variations_form table.variations td{
  max-width: 100%;
}

.kairos-product-page form.variations_form table.variations tr{
  display: block;
  width: 100%;
  margin: 0 0 14px;
}

.kairos-product-page form.variations_form table.variations td.label,
.kairos-product-page form.variations_form table.variations th.label{
  display: none;
}

.kairos-product-page form.variations_form table.variations td.value,
.kairos-product-page form.variations_form table.variations th.value{
  display: block;
  width: 100%;
  padding: 0;
}

/* Tallow products: remove the "Clear" (reset variations) link */
body.kairos-is-tallow .kairos-product-page form.variations_form .reset_variations{
  display: none !important;
}

/* Tallow products: guard against any stray horizontal overflow */
body.kairos-is-tallow,
body.kairos-is-tallow .kairos-product-page{
  overflow-x: hidden;
}

/* Hide the native select but keep it in DOM for Woo logic */
.kairos-product-page form.variations_form select.kairos-variation-select{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.kairos-product-page .kairos-variation-picker{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 0;
  max-width: 100%;
}

.kairos-product-page .kairos-variation-picker-title{
  font-weight: 650;
  color: var(--kairos-text);
}

.kairos-product-page .kairos-variation-options{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 100%;
  min-width: 0;
}

.kairos-product-page button.kairos-variation-option{
  appearance: none;
  border: 1px solid var(--kairos-border);
  background: #fff;
  color: var(--kairos-text);
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 650;
  line-height: 1;
  cursor: pointer;
  max-width: 100%;
  white-space: normal;
}

.kairos-product-page button.kairos-variation-option:hover{
  border-color: var(--kairos-accent);
}

.kairos-product-page button.kairos-variation-option.is-active{
  background: var(--kairos-accent);
  border-color: var(--kairos-accent);
  color: #fff;
}

.kairos-product-page button.kairos-variation-option.is-disabled,
.kairos-product-page button.kairos-variation-option:disabled{
  opacity: .45;
  cursor: not-allowed;
}

/* Variation price: show as its own row above qty/button */
.kairos-product-page form.variations_form .woocommerce-variation{
  width: 100%;
}

.kairos-product-page form.variations_form .woocommerce-variation-price,
.kairos-product-page form.variations_form .woocommerce-variation-price .price{
  display: block;
  width: 100%;
}

.kairos-product-page form.variations_form .woocommerce-variation-price .price{
  font-size: 28px;
  font-weight: 800;
  margin: 6px 0 10px;
}

.kairos-product-page form.variations_form .single_variation_wrap{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.kairos-product-page form.variations_form .woocommerce-variation-add-to-cart{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  width: 100%;
}

.kairos-product-page form.variations_form .woocommerce-variation-add-to-cart .quantity{
  flex: 0 0 92px;
}

.kairos-product-page form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  flex: 1 1 auto;
  min-width: 0;
}

.kairos-product-page .quantity .qty{
  height: 44px;
  border-radius: 999px;
  border: 1px solid var(--kairos-border);
  padding: 0 12px;
}

.kairos-product-page .single_add_to_cart_button.button{
  height: 44px;
  border-radius: 999px;
  border: 0;
  background: var(--kairos-accent);
  color: #fff;
  padding: 0 18px;
  font-weight: 650;
}
.kairos-product-page .single_add_to_cart_button.button:hover{ background: #000; }

/* Kill default Woo purple button styling (single product page only) */
.kairos-product-page .button.alt,
.kairos-product-page button.button.alt,
.kairos-product-page a.button.alt,
.kairos-product-page .single_add_to_cart_button,
.kairos-product-page .single_add_to_cart_button.button{
  background: var(--kairos-accent) !important;
  color: #fff !important;
  border: 0 !important;
}

.kairos-product-page .button.alt:hover,
.kairos-product-page button.button.alt:hover,
.kairos-product-page a.button.alt:hover,
.kairos-product-page .single_add_to_cart_button:hover,
.kairos-product-page .single_add_to_cart_button.button:hover{
  background: #000 !important;
  color: #fff !important;
}

.kairos-product-page .product_meta{
  color: var(--kairos-muted);
  font-size: 13px;
}

.kairos-product-page .woocommerce-tabs{
  margin-top: 28px;
}

/* Tabs + related MUST be full width under the 2-column row */
.kairos-product-page div.product > .woocommerce-tabs,
.kairos-product-page div.product > .related,
.kairos-product-page div.product > .related.products,
.kairos-product-page div.product > .kairos-related-products,
.kairos-product-page div.product > .upsells,
.kairos-product-page div.product > .up-sells{
  grid-column: 1 / -1;
  width: 100%;
}

.kairos-product-page .woocommerce-tabs ul.tabs{
  padding: 0;
  margin: 0 0 14px;
  border-bottom: 1px solid var(--kairos-border);
}
.kairos-product-page .woocommerce-tabs ul.tabs::before{ border: 0; }

.kairos-product-page .woocommerce-tabs ul.tabs li{
  border: 0;
  background: transparent;
  margin: 0 14px 0 0;
  padding: 0;
}

.kairos-product-page .woocommerce-tabs ul.tabs li a{
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 2px;
  color: var(--kairos-muted);
  text-decoration: none;
  font-weight: 650;
}

.kairos-product-page .woocommerce-tabs ul.tabs li.active a{
  color: var(--kairos-ink);
  box-shadow: inset 0 -2px 0 0 var(--kairos-ink);
}

.kairos-product-page .woocommerce-tabs .panel{
  margin: 0;
}

/* Sticky menu (appears on scroll; existing header remains untouched) */
.kairos-stickybar{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: #fff;
  border-bottom: 1px solid var(--kairos-border);
  transform: translateY(-110%);
  opacity: 0;
  pointer-events: none;
  transition: transform .18s ease, opacity .18s ease;
}

/* Logged-in admin bar: keep sticky bar below it */
body.admin-bar .kairos-stickybar{ top: var(--wp-admin--admin-bar--height, 32px); }

body.kairos-sticky-visible .kairos-stickybar{
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.kairos-stickybar-inner{
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 10px 0;
}

.kairos-sticky-logo{
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.kairos-sticky-logo img{
  display: block;
  width: 160px;
  height: auto;
}

.kairos-sticky-menu{
  justify-self: center;
  min-width: 0;
}

.kairos-sticky-menu ul.kairos-menu{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kairos-sticky-menu ul.kairos-menu li{ margin: 0; }

.kairos-sticky-menu ul.kairos-menu a{
  text-decoration: none;
  color: inherit;
  font-weight: 650;
}

.kairos-sticky-actions{
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* Related products (theme-owned output: exactly 4 cards) */
.kairos-related-products{
  margin-top: 34px;
}

.kairos-related-products > h2{
  margin: 0 0 18px;
}

/* Theme-owned related grid (does not rely on Woo .products/.columns styles) */
.kairos-related-products .kairos-related-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
}

.kairos-related-products .kairos-related-card{
  min-width: 0;
  margin: 0;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--kairos-border);
  background: #fff;
  box-shadow: 0 18px 55px rgba(0,0,0,.06);
  text-align: left;
}

.kairos-related-products .kairos-related-image{
  display: block;
  text-decoration: none;
}

.kairos-related-products .kairos-related-image img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
  margin: 0 0 10px;
}

.kairos-related-products .kairos-related-title{
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.25;
  min-height: calc(1.25em * 2);
  text-decoration: none;
  color: inherit;
  font-weight: 650;
}

.kairos-related-products .kairos-related-card .price{
  display: block;
  margin: 8px 0 10px;
  color: var(--kairos-ink);
  font-weight: 850;
  font-size: 16px;
}

.kairos-related-products .kairos-related-card .price del{
  color: var(--kairos-muted);
  font-weight: 750;
  font-size: 13px;
}

.kairos-related-products .kairos-related-card .price ins{ text-decoration: none; }

.kairos-related-products .kairos-related-card .button{
  border: 0;
  background: var(--kairos-accent);
  color: #fff;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 650;
}

.kairos-related-products .kairos-related-card .button:hover{ background: #000; }

.kairos-related-products ul.products,
.kairos-product-page .related ul.products,
.kairos-product-page .related.products ul.products,
.kairos-product-page div.product > .related ul.products,
.kairos-product-page div.product > .related.products ul.products{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
  clear: both !important;
}

.kairos-related-products ul.products li.product,
.kairos-product-page .related ul.products li.product,
.kairos-product-page .related.products ul.products li.product,
.kairos-product-page div.product > .related ul.products li.product,
.kairos-product-page div.product > .related.products ul.products li.product{
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 14px !important;
  border-radius: 18px;
  border: 1px solid var(--kairos-border);
  background: #fff;
  box-shadow: 0 18px 55px rgba(0,0,0,.06);
  text-align: left;
}

.kairos-related-products ul.products li.product a{ text-decoration: none; }

/* Ensure Woo loop markup lays out correctly inside our cards */
.kairos-related-products ul.products li.product a.woocommerce-LoopProduct-link,
.kairos-related-products ul.products li.product a.woocommerce-loop-product__link{
  display: block;
}

.kairos-related-products ul.products li.product a img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.kairos-related-products ul.products li.product .price{
  display: block;
  margin: 8px 0 10px;
  color: var(--kairos-ink);
  font-weight: 850;
  font-size: 16px;
}

.kairos-related-products ul.products li.product .price del{
  color: var(--kairos-muted);
  font-weight: 750;
  font-size: 13px;
}

.kairos-related-products ul.products li.product .price ins{ text-decoration: none; }

.kairos-price-unit{
  margin-left: 6px;
  font-size: 12px;
  font-weight: 650;
  color: var(--kairos-muted);
  white-space: nowrap;
}

.kairos-meat-whatsapp{ margin: 24px 0 0; }

.kairos-meat-whatsapp-meta{
  margin: 12px 0 0;
}

.kairos-meat-whatsapp-meta__row{
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 10px;
  padding: 8px 0;
  border-top: 1px solid var(--kairos-border);
}

.kairos-meat-whatsapp-meta__label{
  font-weight: 750;
  color: var(--kairos-ink);
}

.kairos-meat-whatsapp-meta__value{
  color: var(--kairos-muted);
}

.kairos-meat-whatsapp-meta__value a{ color: inherit; }

.kairos-related-products ul.products li.product .woocommerce-loop-product__title{
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.25;
  min-height: calc(1.25em * 2);
}

.kairos-related-products ul.products li.product img{
  border-radius: 16px;
  margin: 0 0 10px;
}

.kairos-related-products ul.products li.product .button{
  border: 0;
  background: var(--kairos-accent);
  color: #fff;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 650;
}

.kairos-related-products ul.products li.product .button:hover{ background: #000; }

/* Related products: force 4-up even if Woo styles load later (beats .woocommerce ul.products.columns-* rules) */
.kairos-product-page section.kairos-related-products.related.products ul.products,
.kairos-product-page div.product section.kairos-related-products.related.products ul.products,
.kairos-product-page div.product > section.kairos-related-products.related.products ul.products,
.kairos-product-page div.product > section.related.products ul.products{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
  clear: both !important;
}

.kairos-product-page section.kairos-related-products.related.products ul.products li.product,
.kairos-product-page div.product section.kairos-related-products.related.products ul.products li.product,
.kairos-product-page div.product > section.kairos-related-products.related.products ul.products li.product,
.kairos-product-page div.product > section.related.products ul.products li.product{
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  grid-column: auto !important;
  grid-row: auto !important;
}

@media (max-width: 560px){
  .kairos-delivery-calendar-notice{
    align-items: flex-start;
    flex-direction: column;
  }

  .kairos-delivery-calendar-notice .kairos-btn{
    width: 100%;
    padding: 0 14px;
    font-size: 14px;
  }
}

@media (max-width: 1100px){
  .kairos-shop-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px){
  .kairos-shop-layout{ grid-template-columns: 1fr; }
  .kairos-shop-filters{ display: none; }
  .kairos-shop-body{ padding-bottom: 120px; }
  .kairos-mobile-filters-fab{ display: inline-flex; }

  .kairos-mobile-filters-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    position: sticky;
    top: 0;
    margin: -14px -14px 12px;
    padding: 12px 14px;
    background: #fff;
    border-bottom: 1px solid var(--kairos-border);
    z-index: 1;
  }

  body.kairos-filters-open .kairos-mobile-filters-backdrop{
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 9990;
  }

  body.kairos-filters-open .kairos-shop-filters{
    display: block;
    position: fixed;
    left: 16px;
    right: 16px;
    top: 16px;
    bottom: 86px;
    padding: 14px;
    overflow: auto;
    border-radius: 18px;
    border: 1px solid var(--kairos-border);
    background: #fff;
    box-shadow: 0 18px 55px rgba(0,0,0,.22);
    z-index: 9991;
  }

  body.kairos-filters-open .kairos-mobile-filters-fab{ display: none; }
}

@media (max-width: 560px){
  .kairos-shop-grid{ grid-template-columns: 1fr; }
  .kairos-shop-grid .kairos-product-image img{ height: 220px; }
}

@media (max-width: 720px){
  .kairos-shop-hero{ padding: 56px 0; }
  .kairos-shop-hero-tools{ justify-content: flex-start; flex-wrap: wrap; }
}

/* Contact page: details + FAQs + form */
.kairos-contact-section{
  padding: 56px 0;
}

/* Legal pages (Terms & Conditions) */
.kairos-legal{
  padding: 56px 0 72px;
}

/* Blog index (page template: Blog) */
body.page-template-page-blog .kairos-blog-index,
body.page-template-page-blog-php .kairos-blog-index{
  padding: 56px 0 72px;
}

body.page-template-page-blog .kairos-blog-list,
body.page-template-page-blog-php .kairos-blog-list{
  display: flex;
  flex-direction: column;
  gap: 28px;
}

body.page-template-page-blog .kairos-blog-row,
body.page-template-page-blog-php .kairos-blog-row{
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--kairos-border);
}

body.page-template-page-blog .kairos-blog-thumb,
body.page-template-page-blog-php .kairos-blog-thumb{
  display: block;
  line-height: 0;
  border-radius: 18px;
  overflow: hidden;
}

body.page-template-page-blog .kairos-blog-thumb img,
body.page-template-page-blog-php .kairos-blog-thumb img{
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

body.page-template-page-blog .kairos-blog-title,
body.page-template-page-blog-php .kairos-blog-title{
  margin: 0 0 10px;
  line-height: 1.2;
  letter-spacing: .2px;
  font-size: 28px;
}

body.page-template-page-blog .kairos-blog-date,
body.page-template-page-blog-php .kairos-blog-date{
  margin: 0 0 14px;
  color: var(--kairos-muted);
}

body.page-template-page-blog .kairos-blog-excerpt,
body.page-template-page-blog-php .kairos-blog-excerpt{
  margin: 0 0 18px;
  line-height: 1.75;
}

body.page-template-page-blog .kairos-blog-actions,
body.page-template-page-blog-php .kairos-blog-actions{
  margin: 0;
}

body.page-template-page-blog .kairos-blog-pagination,
body.page-template-page-blog-php .kairos-blog-pagination{
  margin-top: 28px;
}

@media (max-width: 860px){
  body.page-template-page-blog .kairos-blog-row,
  body.page-template-page-blog-php .kairos-blog-row{
    grid-template-columns: 1fr;
  }

  body.page-template-page-blog .kairos-blog-thumb img,
  body.page-template-page-blog-php .kairos-blog-thumb img{
    height: 240px;
  }
}

.kairos-legal-inner{
  max-width: 900px;
}

.kairos-legal-content{
  background: #fff;
  border: 1px solid var(--kairos-border);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 18px 55px rgba(0,0,0,.06);
}

.kairos-legal-content > *:first-child{ margin-top: 0; }
.kairos-legal-content > *:last-child{ margin-bottom: 0; }

.kairos-legal-content p{
  margin: 0 0 14px;
  line-height: 1.75;
}

.kairos-legal-content h2,
.kairos-legal-content h3,
.kairos-legal-content h4{
  margin: 22px 0 10px;
  line-height: 1.2;
  letter-spacing: .2px;
}

.kairos-legal-content h2{ font-size: 22px; }
.kairos-legal-content h3{ font-size: 18px; }
.kairos-legal-content h4{ font-size: 16px; }

.kairos-legal-content ul,
.kairos-legal-content ol{
  margin: 0 0 14px;
  padding-left: 1.25em;
  line-height: 1.7;
}

.kairos-legal-content li{ margin: 6px 0; }

.kairos-legal-content a{
  text-decoration: underline;
  text-underline-offset: 2px;
}

.kairos-legal-content hr{
  border: 0;
  border-top: 1px solid var(--kairos-border);
  margin: 18px 0;
}

.kairos-legal-pages{
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--kairos-border);
}

@media (max-width: 600px){
  .kairos-legal{ padding: 44px 0 60px; }
  .kairos-legal-content{ padding: 18px; }
}

/* WooCommerce: My Account (login/register) */
body.woocommerce-account .kairos-legal-inner{
  max-width: 980px;
}

body.woocommerce-account .kairos-legal-content{
  /* Remove the big “card” wrapper on account pages */
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

body.woocommerce-account .woocommerce .u-columns,
body.woocommerce-account .woocommerce #customer_login{
  /* Force side-by-side layout regardless of WooCommerce float rules */
  display: flex !important;
  gap: 22px;
  align-items: stretch;
  width: 100%;
  margin: 0 !important;
}

body.woocommerce-account .woocommerce .u-column1,
body.woocommerce-account .woocommerce .u-column2{
  float: none !important;
  width: auto !important;
  flex: 1 1 0;
  min-width: 0;
  margin: 0 !important;
  border: 1px solid var(--kairos-border);
  border-radius: 18px;
  background: var(--kairos-bg);
  padding: 22px;
  box-shadow: 0 18px 55px rgba(0,0,0,.06);
}

body.woocommerce-account .woocommerce h2{
  margin: 0 0 14px;
  font-size: 18px;
  letter-spacing: .2px;
}

body.woocommerce-account .woocommerce form.login,
body.woocommerce-account .woocommerce form.register{
  margin: 0;
  padding: 0;
  border: 0;
  width: 100%;
}

body.woocommerce-account .woocommerce form .form-row{
  margin: 0 0 14px;
}

body.woocommerce-account .woocommerce form label{
  display: inline-block;
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .2px;
}

body.woocommerce-account .woocommerce form input[type="text"],
body.woocommerce-account .woocommerce form input[type="email"],
body.woocommerce-account .woocommerce form input[type="password"]{
  width: 100%;
  height: 44px;
  border-radius: 12px;
  border: 1px solid var(--kairos-border);
  padding: 0 12px;
  outline: none;
  background: var(--kairos-bg);
}

body.woocommerce-account .woocommerce form input[type="text"]:focus,
body.woocommerce-account .woocommerce form input[type="email"]:focus,
body.woocommerce-account .woocommerce form input[type="password"]:focus{
  border-color: rgba(0,0,0,.22);
  box-shadow: 0 0 0 4px rgba(17,17,17,.08);
}

body.woocommerce-account .woocommerce form .password-input{
  width: 100%;
}

body.woocommerce-account .woocommerce form .show-password-input{
  top: 50%;
  transform: translateY(-50%);
}

body.woocommerce-account .woocommerce .woocommerce-form__label-for-checkbox{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}

body.woocommerce-account .woocommerce button.button,
body.woocommerce-account .woocommerce input.button{
  border: 0;
  background: var(--kairos-ink);
  color: var(--kairos-topbar-ink);
  height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  font-weight: 650;
  cursor: pointer;
}

body.woocommerce-account .woocommerce button.button:hover,
body.woocommerce-account .woocommerce input.button:hover{
  opacity: .92;
}

body.woocommerce-account .woocommerce a{
  text-underline-offset: 2px;
}

@media (max-width: 800px){
  body.woocommerce-account .woocommerce .u-columns,
  body.woocommerce-account .woocommerce #customer_login{
    flex-direction: column;
  }
}

/* Terms page (full-width content, no "card" wrapper) */
.kairos-terms,
.kairos-privacy{
  padding: 56px 0 72px;
}

.kairos-refund{
  padding: 56px 0 72px;
}

.kairos-terms-content,
.kairos-privacy-content{
  max-width: none;
}

.kairos-refund-content{
  max-width: none;
}

.kairos-terms-updated{
  margin: 0 0 14px;
  color: var(--kairos-muted);
}

.kairos-terms-content p,
.kairos-privacy-content p{
  margin: 0 0 14px;
  line-height: 1.75;
  max-width: none;
}

.kairos-refund-content p{
  margin: 0 0 14px;
  line-height: 1.75;
  max-width: none;
}

.kairos-terms-content h2,
.kairos-terms-content h3,
.kairos-terms-content h4,
.kairos-privacy-content h2,
.kairos-privacy-content h3,
.kairos-privacy-content h4{
  margin: 22px 0 10px;
  line-height: 1.2;
  letter-spacing: .2px;
}

.kairos-refund-content h2,
.kairos-refund-content h3,
.kairos-refund-content h4{
  margin: 22px 0 10px;
  line-height: 1.2;
  letter-spacing: .2px;
}

.kairos-terms-content h2,
.kairos-privacy-content h2{ font-size: 22px; }
.kairos-terms-content h3,
.kairos-privacy-content h3{ font-size: 18px; }
.kairos-terms-content h4,
.kairos-privacy-content h4{ font-size: 16px; }

.kairos-refund-content h2{ font-size: 22px; }
.kairos-refund-content h3{ font-size: 18px; }
.kairos-refund-content h4{ font-size: 16px; }

.kairos-terms-content ul,
.kairos-terms-content ol,
.kairos-privacy-content ul,
.kairos-privacy-content ol{
  margin: 0 0 14px;
  padding-left: 1.25em;
  line-height: 1.7;
}

.kairos-refund-content ul,
.kairos-refund-content ol{
  margin: 0 0 14px;
  padding-left: 1.25em;
  line-height: 1.7;
}

.kairos-terms-content li,
.kairos-privacy-content li{ margin: 6px 0; }

.kairos-refund-content li{ margin: 6px 0; }

.kairos-terms-content a,
.kairos-privacy-content a{
  text-decoration: underline;
  text-underline-offset: 2px;
}

.kairos-refund-content a{
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 600px){
  .kairos-terms,
  .kairos-privacy,
  .kairos-refund{ padding: 44px 0 60px; }
}

.kairos-contact-layout{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px;
  align-items: start;
}

.kairos-contact-left{
  border: 1px solid var(--kairos-border);
  border-radius: 18px;
  padding: 18px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(0,0,0,.08);
}

.kairos-contact-title{
  margin: 0 0 12px;
  font-size: 28px;
  letter-spacing: .2px;
}

.kairos-contact-details{
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  display: grid;
  gap: 12px;
}

.kairos-contact-item{
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.kairos-contact-item-label{
  color: var(--kairos-muted);
  font-weight: 650;
  line-height: 1.4;
}

.kairos-contact-item-label-main{
  display: block;
  color: var(--kairos-muted);
  font-weight: 650;
  line-height: 1.4;
}

.kairos-contact-item-label-sub{
  display: block;
  margin-top: 2px;
  font-weight: 500;
  color: var(--kairos-muted);
  opacity: .9;
  line-height: 1.35;
}

.kairos-contact-item-value{
  min-width: 0;
  line-height: 1.4;
}

.kairos-contact-item-value a:not(.kairos-contact-social){
  text-decoration: underline;
  text-underline-offset: 2px;
}

.kairos-contact-item-value--stack{
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
}

.kairos-contact-socials{
  display: grid;
  gap: 10px;
}

.kairos-contact-social{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.kairos-contact-social:hover{
  text-decoration: underline;
  text-underline-offset: 2px;
}

.kairos-contact-icon{
  display: inline-flex;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
}

.kairos-contact-icon svg{
  width: 18px;
  height: 18px;
}

@media (max-width: 560px){
  .kairos-contact-item{ grid-template-columns: 1fr; gap: 4px; }
}

.kairos-contact-subtitle{
  margin: 0 0 10px;
  font-size: 16px;
  color: var(--kairos-muted);
  letter-spacing: .2px;
}

.kairos-contact-faqs{
  margin-top: 10px;
}

.kairos-faq{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

.kairos-faq + .kairos-faq{ margin-top: 12px; }

.kairos-faq summary{
  cursor: pointer;
  list-style: none;
  padding: 14px 16px;
  font-weight: 650;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.kairos-faq summary::-webkit-details-marker{ display: none; }

.kairos-faq summary::after{
  content: "+";
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.03);
  font-weight: 800;
}

.kairos-faq[open] summary::after{ content: "–"; }

.kairos-faq-body{
  padding: 0 16px 14px;
  color: #111;
  line-height: 1.6;
}

.kairos-faq-body a{ text-decoration: underline; }

.kairos-contact-right{
  border: 1px solid var(--kairos-border);
  border-radius: 18px;
  padding: 18px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(0,0,0,.08);
}

.kairos-contact-form p{ margin: 0 0 12px; }
.kairos-contact-form p:last-child{ margin-bottom: 0; }

.kairos-contact-form label{
  display: block;
  margin: 0 0 6px;
  font-weight: 600;
  letter-spacing: .1px;
}

.kairos-contact-form input[type="text"],
.kairos-contact-form input[type="email"],
.kairos-contact-form input[type="tel"],
.kairos-contact-form input[type="url"],
.kairos-contact-form select,
.kairos-contact-form textarea{
  width: 100%;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 14px;
  padding: 12px 12px;
  font-size: 14px;
  outline: none;
}

.kairos-contact-form textarea{ min-height: 140px; resize: vertical; }

.kairos-contact-form input:focus,
.kairos-contact-form select:focus,
.kairos-contact-form textarea:focus{
  border-color: rgba(0,0,0,.35);
  box-shadow: 0 0 0 4px rgba(17,17,17,.08);
}

.kairos-contact-form button,
.kairos-contact-form input[type="submit"]{
  appearance: none;
  border: 0;
  background: #111;
  color: #fff;
  height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  font-weight: 650;
  letter-spacing: .2px;
  cursor: pointer;
}

.kairos-contact-form button:hover,
.kairos-contact-form input[type="submit"]:hover{ background: #000; }

.kairos-contact-form-empty{
  margin: 0;
  color: var(--kairos-muted);
  line-height: 1.55;
}

.kairos-contact-alert{
  margin: 0 0 14px;
  border-radius: 16px;
  padding: 12px 14px;
  border: 1px solid rgba(0,0,0,.10);
  line-height: 1.45;
}
.kairos-contact-alert--success{
  background: rgba(16,185,129,.10);
  border-color: rgba(16,185,129,.30);
}
.kairos-contact-alert--error{
  background: rgba(220,38,38,.10);
  border-color: rgba(220,38,38,.30);
}

.kairos-contact-hp{
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.kairos-contact-extra{
  margin-top: 26px;
}

@media (max-width: 900px){
  .kairos-contact-section{ padding: 40px 0; }
  .kairos-contact-layout{ grid-template-columns: 1fr; gap: 18px; }
}

/* Mobile: Single product layout (override base grid below) */
@media (max-width: 900px){
  .kairos-product-page div.product{
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .kairos-product-page .woocommerce-product-gallery,
  .kairos-product-page div.product div.images,
  .kairos-product-page .kairos-single-gallery{
    width: 100% !important;
    max-width: none !important;
  }

  .kairos-product-page div.product div.summary{
    display: flex;
    flex-direction: column;
  }

  .kairos-product-page div.product div.summary > h1.product_title,
  .kairos-product-page div.product div.summary > .product_title{
    order: 1;
    margin-top: 0;
  }

  .kairos-product-page div.product div.summary > p.price,
  .kairos-product-page div.product div.summary > .price{
    order: 2;
  }

  .kairos-product-page div.product div.summary > .kairos-delivery-calendar-notice{
    order: 3;
    width: 100%;
  }

  .kairos-product-page div.product div.summary > form.cart{
    order: 4;
    width: 100%;
  }

  .kairos-product-page div.product div.summary > form.cart:not(.variations_form){
    flex-wrap: nowrap;
  }

  .kairos-product-page div.product div.summary > form.cart:not(.variations_form) .quantity{
    flex: 0 0 92px;
  }

  .kairos-product-page div.product div.summary > form.cart:not(.variations_form) .quantity .qty{
    width: 100%;
  }

  .kairos-product-page div.product div.summary > form.cart:not(.variations_form) .single_add_to_cart_button{
    flex: 1 1 auto;
    min-width: 0;
  }

  .kairos-product-page div.product div.summary > .woocommerce-product-details__short-description{ order: 5; }
  .kairos-product-page div.product div.summary > .product_meta{ order: 6; }
  .kairos-product-page div.product div.summary > .woocommerce-product-rating{ order: 7; }

  /* Related products: 2 per row on mobile */
  .kairos-related-products .kairos-related-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kairos-related-products ul.products,
  .kairos-product-page .related ul.products,
  .kairos-product-page .related.products ul.products,
  .kairos-product-page div.product > .related ul.products,
  .kairos-product-page div.product > .related.products ul.products,
  .kairos-product-page section.kairos-related-products.related.products ul.products,
  .kairos-product-page div.product section.kairos-related-products.related.products ul.products,
  .kairos-product-page div.product > section.kairos-related-products.related.products ul.products,
  .kairos-product-page div.product > section.related.products ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

.kairos-page-hero--delivery .kairos-page-hero-text{
  font-size: 15px;
  color: rgba(255,255,255,.88);
}

.kairos-calendar-layout{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 22px;
  align-items: start;
}

.kairos-calendar{
  background: #fff;
  border: 1px solid var(--kairos-border);
  border-radius: 16px;
  padding: 12px;
}

.kairos-calendar-side{
  position: sticky;
  top: 18px;
}

.kairos-calendar-card{
  background: #fff;
  border: 1px solid var(--kairos-border);
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 18px 55px rgba(0,0,0,.08);
}

.kairos-calendar-card-title{
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: .2px;
}

.kairos-calendar-details{
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(0,0,0,.08);
}

.kairos-calendar-empty{
  margin: 0;
  color: var(--kairos-muted);
  line-height: 1.5;
  font-size: 14px;
}

.kairos-delivery-event{
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
}
.kairos-delivery-event + .kairos-delivery-event{ margin-top: 12px; }

.kairos-delivery-title{
  margin: 0 0 10px;
  font-size: 16px;
  line-height: 1.25;
  letter-spacing: .1px;
}

/* First meta row is typically the date range */
.kairos-delivery-event .kairos-delivery-meta:first-of-type{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(220,38,38,.10);
  color: #7f1d1d;
  font-weight: 700;
  margin: 0 0 10px;
  font-size: 13px;
}

.kairos-delivery-meta{
  font-size: 14px;
  color: var(--kairos-muted);
  margin: 0 0 10px;
}
.kairos-delivery-meta strong{ color: #111; }

.kairos-delivery-details{
  line-height: 1.65;
  font-size: 15px;
  color: #111;
}

/* FullCalendar tweaks */
.fc .fc-toolbar-title{ font-size: 18px; }
.fc .fc-button{ border-radius: 999px; }
.fc .fc-daygrid-day-number{ color: #111; text-decoration: none; }
.fc .fc-event{ border-radius: 999px; padding: 2px 8px; border: 0; background: #111; }
.fc .fc-event .fc-event-title{ color: #fff; font-weight: 600; }

/* Active (selected) day highlight */
.kairos-calendar .fc-daygrid-day.kairos-active-day .fc-daygrid-day-frame{
  background: rgba(220,38,38,.10);
  outline: 2px solid rgba(220,38,38,.35);
  outline-offset: -2px;
  border-radius: 10px;
  transition: background .15s ease, outline-color .15s ease;
}
.kairos-calendar .fc-daygrid-day.kairos-active-day .fc-daygrid-day-number{
  color: #7f1d1d;
  font-weight: 800;
}

@media (max-width: 980px){
  .kairos-calendar-layout{ grid-template-columns: 1fr; }
  .kairos-calendar-side{ position: static; }
}

@media (max-width: 820px){
  .kairos-page-hero--delivery .kairos-page-hero-inner--split{ grid-template-columns: 1fr; }
  .kairos-page-hero--delivery .kairos-page-hero-mark{ justify-self: start; padding: 12px 14px; }
  .kairos-page-hero--delivery .kairos-page-hero-mark img{ width: min(280px, 100%); }
}
