@import url("https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Nunito:wght@500;600;700;800&display=swap");
/* Generated for WordPress */


:root{
  --color-blue: #2F6DB2;
  --color-blue-dark: #244B7A;
  --color-sky: #8ED6FF;
  --color-pink: #FFC7D9;
  --color-gold: #FFD45C;
  --color-yellow: #FFE58F;
  --color-white: #FFFDFB;
  --color-bg-blue: #DDF3FF;
  --color-bg-pink: #FFEAF1;

  --font-heading: "Fredoka", "Nunito", sans-serif;
  --font-body: "Nunito", sans-serif;

  --fs-display: 64px;
  --fs-h1: 52px;
  --fs-h2: 40px;
  --fs-h3: 26px;
  --fs-lead: 20px;
  --fs-body: 17px;
  --fs-small: 14px;
  --fs-price: 22px;
  --fs-nav: 16px;

  --fw-body: 500;
  --fw-bold: 700;
  --fw-heavy: 800;
  --fw-heading: 600;

  --lh-tight: 1.08;
  --lh-snug: 1.25;
  --lh-body: 1.6;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  --section-pad: var(--space-9);
  --gutter: var(--space-6);

  --radius-sm: 14px;
  --radius-md: 24px;
  --radius-lg: 36px;
  --radius-pill: 999px;
  --border-w: 3px;

  --content-max: 1180px;
  --measure: 60ch;
  --logo-h: 56px;
  --logo-max-w: 180px;
  --footer-logo-h: 64px;
  --card-basis: 250px;
  --card-min: 0px;
  --field-h: 52px;
  --textarea-h: 140px;
  --dot-size: 12px;
  --nav-gap: var(--space-5);
  --band-text-basis: 420px;
  --footer-brand-basis: 260px;
  --footer-brand-max: 340px;
  --footer-col-min: 140px;
  --admin-bar-h: 32px;
  --z-header: 100;
  --modal-w: 760px;
}

@media (max-width: 1024px){
  :root{
    --fs-display: 52px;
    --fs-h1: 44px;
    --fs-h2: 34px;
    --fs-h3: 24px;
    --fs-lead: 19px;
    --section-pad: var(--space-8);
    --gutter: var(--space-5);
    --logo-h: 50px;
    --nav-gap: var(--space-4);
  }
}

@media (max-width: 640px){
  :root{
    --fs-display: 40px;
    --fs-h1: 36px;
    --fs-h2: 28px;
    --fs-h3: 22px;
    --fs-lead: 18px;
    --fs-body: 16px;
    --fs-price: 20px;
    --fs-nav: 15px;
    --section-pad: var(--space-7);
    --gutter: var(--space-4);
    --logo-h: 44px;
    --footer-logo-h: 56px;
    --radius-lg: 28px;
  }
}

*{ box-sizing: border-box; }
html, body{ margin: 0; padding: 0; }
body{
  background: var(--color-white);
  color: var(--color-blue-dark);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-body);
  line-height: var(--lh-body);
}
img{ max-width: 100%; display: block; }
a{ color: var(--color-blue); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover{ color: var(--color-blue-dark); }

/* Page shell */




/* Header */
:is(#page,#kt-header,#kt-footer) .site-header{
  position: sticky; top: 0; z-index: var(--z-header);
  background: var(--color-white);
  border-bottom: var(--border-w) solid var(--color-bg-blue);
}
:is(#page,#kt-header,#kt-footer) .header-inner{
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;
  gap: var(--space-4);
  max-width: var(--content-max); margin: 0 auto;
  padding: var(--space-3) var(--gutter);
}
:is(#page,#kt-header,#kt-footer) .logo{ display: flex; align-items: center; }
:is(#page,#kt-header,#kt-footer) .logo-img{ height: var(--logo-h); width: auto; max-width: var(--logo-max-w); object-fit: contain; }
:is(#page,#kt-header,#kt-footer) .nav{ display: flex; align-items: center; gap: var(--nav-gap); }
:is(#page,#kt-header,#kt-footer) .nav-link{
  font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-nav);
  color: var(--color-blue); text-decoration: none; white-space: nowrap;
  padding: var(--space-2) var(--space-3); border-radius: var(--radius-pill);
}
:is(#page,#kt-header,#kt-footer) .nav-link:hover{ background: var(--color-bg-blue); color: var(--color-blue-dark); }
:is(#page,#kt-header,#kt-footer) .nav-link.is-active{ background: var(--color-bg-blue); color: var(--color-blue-dark); }

@media (max-width: 820px){
  :is(#page,#kt-header,#kt-footer) .nav{
    order: 3; flex-basis: 100%;
    overflow-x: auto; gap: var(--space-2);
    padding-bottom: var(--space-1);
  }
  :is(#page,#kt-header,#kt-footer) .nav-link{ background: var(--color-bg-blue); }
  :is(#page,#kt-header,#kt-footer) .nav-link.is-active{ background: var(--color-blue); color: var(--color-white); }
}

/* Sections */
:is(#page,#kt-header,#kt-footer) .section{ display: flex; justify-content: center; padding: var(--section-pad) var(--gutter); }
:is(#page,#kt-header,#kt-footer) .section--blue{ background: var(--color-bg-blue); }
:is(#page,#kt-header,#kt-footer) .section--pink{ background: var(--color-bg-pink); }
:is(#page,#kt-header,#kt-footer) .section--white{ background: var(--color-white); }
:is(#page,#kt-header,#kt-footer) .section--brand{ background: var(--color-blue); color: var(--color-white); }
:is(#page,#kt-header,#kt-footer) .container{ display: flex; flex-direction: column; gap: var(--space-6); width: 100%; max-width: var(--content-max); }
:is(#page,#kt-header,#kt-footer) .section-head{ display: flex; flex-direction: column; gap: var(--space-3); max-width: var(--measure); }
:is(#page,#kt-header,#kt-footer) .section-head--row{ flex-direction: row; justify-content: space-between; align-items: flex-end; max-width: none; flex-wrap: wrap; gap: var(--space-4); }

/* Type */
:is(#page,#kt-header,#kt-footer) .heading-display, :is(#page,#kt-header,#kt-footer) .heading-1, :is(#page,#kt-header,#kt-footer) .heading-2, :is(#page,#kt-header,#kt-footer) .heading-3{
  font-family: var(--font-heading); font-weight: var(--fw-heading);
  color: var(--color-blue); margin: 0; line-height: var(--lh-tight);
  text-wrap: balance;
}
:is(#page,#kt-header,#kt-footer) .heading-display{ font-size: var(--fs-display); }
:is(#page,#kt-header,#kt-footer) .heading-1{ font-size: var(--fs-h1); }
:is(#page,#kt-header,#kt-footer) .heading-2{ font-size: var(--fs-h2); }
:is(#page,#kt-header,#kt-footer) .heading-3{ font-size: var(--fs-h3); line-height: var(--lh-snug); }
:is(#page,#kt-header,#kt-footer) .heading-on-brand{ color: var(--color-white); }
:is(#page,#kt-header,#kt-footer) .lead{ font-size: var(--fs-lead); margin: 0; max-width: var(--measure); text-wrap: pretty; }
:is(#page,#kt-header,#kt-footer) .text{ margin: 0; max-width: var(--measure); text-wrap: pretty; }
:is(#page,#kt-header,#kt-footer) .text-small{ font-size: var(--fs-small); margin: 0; }
:is(#page,#kt-header,#kt-footer) .stack{ display: flex; flex-direction: column; gap: var(--space-4); }

/* Buttons */
:is(#page,#kt-header,#kt-footer) .button-row{ display: flex; flex-wrap: wrap; gap: var(--space-3); }
:is(#page,#kt-header,#kt-footer) .button-primary, :is(#page,#kt-header,#kt-footer) .button-secondary, :is(#page,#kt-header,#kt-footer) .button-cart{
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-body);
  padding: var(--space-3) var(--space-6);
  border-radius: var(--radius-pill); border: var(--border-w) solid var(--color-blue);
  text-decoration: none; white-space: nowrap; cursor: pointer;
}
:is(#page,#kt-header,#kt-footer) .button-primary{ background: var(--color-blue); color: var(--color-white); }
:is(#page,#kt-header,#kt-footer) .button-primary:hover{ background: var(--color-blue-dark); border-color: var(--color-blue-dark); color: var(--color-white); }
:is(#page,#kt-header,#kt-footer) .button-secondary{ background: var(--color-white); color: var(--color-blue); }
:is(#page,#kt-header,#kt-footer) .button-secondary:hover{ background: var(--color-bg-blue); color: var(--color-blue-dark); }
:is(#page,#kt-header,#kt-footer) .button-cart{ background: var(--color-gold); color: var(--color-blue-dark); border-color: var(--color-blue-dark); }
:is(#page,#kt-header,#kt-footer) .button-cart:hover{ background: var(--color-yellow); color: var(--color-blue-dark); }
:is(#page,#kt-header,#kt-footer) .button-small{ padding: var(--space-2) var(--space-4); font-size: var(--fs-small); }
:is(#page,#kt-header,#kt-footer) .button-full{ width: 100%; }

/* Chips & badges */
:is(#page,#kt-header,#kt-footer) .chip-row{ display: flex; flex-wrap: wrap; gap: var(--space-2); }
:is(#page,#kt-header,#kt-footer) .chip{
  display: inline-flex; align-items: center;
  font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-small);
  padding: var(--space-2) var(--space-4); border-radius: var(--radius-pill);
  background: var(--color-white); color: var(--color-blue-dark);
  border: var(--border-w) solid var(--color-blue-dark); text-decoration: none;
}
:is(#page,#kt-header,#kt-footer) .chip.is-active{ background: var(--color-yellow); }
:is(#page,#kt-header,#kt-footer) .badge{
  display: inline-flex; align-self: flex-start;
  font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-small);
  padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill);
  background: var(--color-gold); color: var(--color-blue-dark);
}

/* Photos */
:is(#page,#kt-header,#kt-footer) .photo{
  width: 100%; height: auto;
  border-radius: var(--radius-lg); border: var(--border-w) solid var(--color-blue);
  background: var(--color-bg-blue);
}
:is(#page,#kt-header,#kt-footer) .photo-cover{ object-fit: cover; aspect-ratio: 4 / 3; }
:is(#page,#kt-header,#kt-footer) .photo-square{ object-fit: cover; aspect-ratio: 1 / 1; }
:is(#page,#kt-header,#kt-footer) .photo-tall{ object-fit: cover; aspect-ratio: 3 / 4; }
:is(#page,#kt-header,#kt-footer) .photo-caption{ font-size: var(--fs-small); margin: var(--space-2) 0 0; }
:is(#page,#kt-header,#kt-footer) .figure{ display: flex; flex-direction: column; margin: 0; flex: 1 1 var(--card-basis); min-width: var(--card-min); }
:is(#page,#kt-header,#kt-footer) .figure-row{ display: flex; flex-wrap: wrap; gap: var(--space-5); }

/* Split layout */
:is(#page,#kt-header,#kt-footer) .split{ display: flex; align-items: center; gap: var(--space-8); }
:is(#page,#kt-header,#kt-footer) .split--top{ align-items: flex-start; }
:is(#page,#kt-header,#kt-footer) .split--reverse{ flex-direction: row-reverse; }
:is(#page,#kt-header,#kt-footer) .split-text{ display: flex; flex-direction: column; gap: var(--space-5); flex: 1 1 55%; min-width: 0; }
:is(#page,#kt-header,#kt-footer) .split-media{ display: flex; flex-direction: column; flex: 1 1 45%; min-width: 0; }
@media (max-width: 820px){
  :is(#page,#kt-header,#kt-footer) .split, :is(#page,#kt-header,#kt-footer) .split--reverse{ flex-direction: column; align-items: stretch; gap: var(--space-6); }
  :is(#page,#kt-header,#kt-footer) .split--media-first{ flex-direction: column-reverse; }
}

/* Product card */
:is(#page,#kt-header,#kt-footer) .product-row{ display: flex; flex-wrap: wrap; gap: var(--space-5); }
:is(#page,#kt-header,#kt-footer) .product-slot{ display: flex; flex-direction: column; flex: 1 1 var(--card-basis); min-width: var(--card-min); max-width: calc(50% - var(--space-5)); }
:is(#page,#kt-header,#kt-footer) .product-slot > *{ display: flex; flex-direction: column; flex: 1; }
:is(#page,#kt-header,#kt-footer) .card-product{
  display: flex; flex-direction: column; flex: 1; height: 100%;
  background: var(--color-white);
  border: var(--border-w) solid var(--color-blue); border-radius: var(--radius-md);
  overflow: hidden;
}
:is(#page,#kt-header,#kt-footer) .product-row--four .product-slot{ max-width: calc(25% - var(--space-4)); }
:is(#page,#kt-header,#kt-footer) .product-row--three .product-slot{ max-width: calc(33.333% - var(--space-4)); }
:is(#page,#kt-header,#kt-footer) .card-product-media{ display: flex; background: var(--color-bg-blue); border-bottom: var(--border-w) solid var(--color-blue); }
:is(#page,#kt-header,#kt-footer) .card-product-img{ width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
:is(#page,#kt-header,#kt-footer) .card-product-body{ display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-4) var(--space-5) var(--space-5); flex: 1; }
:is(#page,#kt-header,#kt-footer) .card-product-title{ font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-h3); line-height: var(--lh-snug); color: var(--color-blue); margin: 0; }
:is(#page,#kt-header,#kt-footer) .card-product-note{ font-size: var(--fs-small); margin: 0; flex: 1; }
:is(#page,#kt-header,#kt-footer) .card-product-footer{ display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; padding-top: var(--space-3); }
:is(#page,#kt-header,#kt-footer) .card-product-price{ font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-price); color: var(--color-blue-dark); }
@media (max-width: 1024px){
  :is(#page,#kt-header,#kt-footer) .product-row--four .product-slot, :is(#page,#kt-header,#kt-footer) .product-row--three .product-slot{ max-width: calc(50% - var(--space-3)); }
  :is(#page,#kt-header,#kt-footer) .product-slot{ flex-basis: calc(50% - var(--space-3)); }
}
@media (max-width: 640px){
  :is(#page,#kt-header,#kt-footer) .product-row{ gap: var(--space-3); }
  :is(#page,#kt-header,#kt-footer) .product-slot, :is(#page,#kt-header,#kt-footer) .product-row--four .product-slot, :is(#page,#kt-header,#kt-footer) .product-row--three .product-slot{ flex-basis: calc(50% - var(--space-2)); max-width: calc(50% - var(--space-2)); }
  :is(#page,#kt-header,#kt-footer) .card-product-body{ padding: var(--space-3); }
  :is(#page,#kt-header,#kt-footer) .card-product-footer{ flex-direction: column; align-items: stretch; }
  :is(#page,#kt-header,#kt-footer) .card-product-footer .button-cart{ width: 100%; }
}

/* Category cards */
:is(#page,#kt-header,#kt-footer) .category-row{ display: flex; gap: var(--space-5); align-items: stretch; }
:is(#page,#kt-header,#kt-footer) .card-category{
  display: flex; flex-direction: column; gap: var(--space-4);
  flex: 1 1 0; min-width: 0;
  padding: var(--space-5);
  background: var(--color-white);
  border: var(--border-w) solid var(--color-blue); border-radius: var(--radius-lg);
  text-decoration: none; color: var(--color-blue-dark);
}
:is(#page,#kt-header,#kt-footer) .card-category--wide{ flex: 1.5 1 0; }
:is(#page,#kt-header,#kt-footer) .card-category-img{ width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-md); background: var(--color-bg-blue); }
:is(#page,#kt-header,#kt-footer) .card-category--wide .card-category-img{ aspect-ratio: 16 / 10; }
@media (max-width: 820px){
  :is(#page,#kt-header,#kt-footer) .category-row{ flex-direction: column; }
  :is(#page,#kt-header,#kt-footer) .card-category{ flex-direction: row; align-items: center; }
  :is(#page,#kt-header,#kt-footer) .card-category-img, :is(#page,#kt-header,#kt-footer) .card-category--wide .card-category-img{ width: 40%; flex-shrink: 0; aspect-ratio: 1 / 1; }
}
@media (max-width: 480px){
  :is(#page,#kt-header,#kt-footer) .card-category{ flex-direction: column; align-items: stretch; }
  :is(#page,#kt-header,#kt-footer) .card-category-img, :is(#page,#kt-header,#kt-footer) .card-category--wide .card-category-img{ width: 100%; aspect-ratio: 16 / 10; }
}

/* Philosophy pillars */
:is(#page,#kt-header,#kt-footer) .pillar-row{ display: flex; gap: var(--space-5); align-items: stretch; }
:is(#page,#kt-header,#kt-footer) .card-pillar{
  display: flex; flex-direction: column; gap: var(--space-4);
  flex: 1 1 0; min-width: 0;
  padding: var(--space-5) var(--space-5) var(--space-6);
  border: var(--border-w) solid var(--color-blue); border-radius: var(--radius-lg);
}
:is(#page,#kt-header,#kt-footer) .card-pillar--sky{ background: var(--color-bg-blue); }
:is(#page,#kt-header,#kt-footer) .card-pillar--pink{ background: var(--color-bg-pink); }
:is(#page,#kt-header,#kt-footer) .card-pillar--yellow{ background: var(--color-yellow); }
:is(#page,#kt-header,#kt-footer) .card-pillar-img{ width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--radius-md); border: var(--border-w) solid var(--color-blue); }
:is(#page,#kt-header,#kt-footer) .card-pillar-number{
  display: flex; align-items: center; justify-content: center;
  width: var(--space-7); height: var(--space-7); border-radius: var(--radius-pill);
  background: var(--color-blue); color: var(--color-white);
  font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-h3);
}
@media (max-width: 1024px){
  :is(#page,#kt-header,#kt-footer) .pillar-row{ flex-direction: column; }
  :is(#page,#kt-header,#kt-footer) .card-pillar{ flex-direction: row; align-items: center; gap: var(--space-5); }
  :is(#page,#kt-header,#kt-footer) .card-pillar-img{ width: 34%; flex-shrink: 0; }
  :is(#page,#kt-header,#kt-footer) .card-pillar-text{ display: flex; flex-direction: column; gap: var(--space-3); flex: 1; min-width: 0; }
}
@media (max-width: 520px){
  :is(#page,#kt-header,#kt-footer) .card-pillar{ flex-direction: column; align-items: stretch; }
  :is(#page,#kt-header,#kt-footer) .card-pillar-img{ width: 100%; aspect-ratio: 16 / 10; }
}
:is(#page,#kt-header,#kt-footer) .card-pillar-text{ display: flex; flex-direction: column; gap: var(--space-3); }

/* Offer cards */
:is(#page,#kt-header,#kt-footer) .offer-row{ display: flex; gap: var(--space-5); align-items: stretch; }
:is(#page,#kt-header,#kt-footer) .card-offer{
  display: flex; flex-direction: column; gap: var(--space-4);
  flex: 1 1 0; min-width: 0; padding: var(--space-6);
  background: var(--color-white);
  border: var(--border-w) solid var(--color-blue); border-radius: var(--radius-lg);
}
:is(#page,#kt-header,#kt-footer) .card-offer--yellow{ background: var(--color-yellow); }
@media (max-width: 820px){ :is(#page,#kt-header,#kt-footer) .offer-row{ flex-direction: column; } }

/* Dot list (real dot elements, no pseudo-elements) */
:is(#page,#kt-header,#kt-footer) .dot-list{ display: flex; flex-direction: column; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
:is(#page,#kt-header,#kt-footer) .dot-list-item{ display: flex; align-items: center; gap: var(--space-3); }
:is(#page,#kt-header,#kt-footer) .dot{ width: var(--dot-size); height: var(--dot-size); border-radius: var(--radius-pill); background: var(--color-pink); border: var(--border-w) solid var(--color-blue); flex-shrink: 0; }

/* CTA band */
:is(#page,#kt-header,#kt-footer) .band-cta{ display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); flex-wrap: wrap; }
:is(#page,#kt-header,#kt-footer) .band-cta-text{ display: flex; flex-direction: column; gap: var(--space-3); flex: 1 1 var(--band-text-basis); min-width: 0; }
:is(#page,#kt-header,#kt-footer) .band-cta .lead{ color: var(--color-white); }

/* FAQ */
:is(#page,#kt-header,#kt-footer) .faq-group{ display: flex; flex-direction: column; gap: var(--space-3); }
:is(#page,#kt-header,#kt-footer) .faq-item{ background: var(--color-white); border: var(--border-w) solid var(--color-blue); border-radius: var(--radius-sm); }
:is(#page,#kt-header,#kt-footer) .faq-question{
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-4);
  padding: var(--space-4) var(--space-5); cursor: pointer; list-style: none;
  font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-lead); color: var(--color-blue);
}
:is(#page,#kt-header,#kt-footer) .faq-question::-webkit-details-marker{ display: none; }
:is(#page,#kt-header,#kt-footer) .faq-toggle{
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  width: var(--space-6); height: var(--space-6); border-radius: var(--radius-pill);
  background: var(--color-bg-blue); color: var(--color-blue); font-size: var(--fs-lead);
}
:is(#page,#kt-header,#kt-footer) .faq-answer{ margin: 0; padding: 0 var(--space-5) var(--space-5); }

/* Form mockup */
:is(#page,#kt-header,#kt-footer) .form-mockup{
  display: flex; flex-direction: column; gap: var(--space-4);
  padding: var(--space-6); background: var(--color-white);
  border: var(--border-w) solid var(--color-blue); border-radius: var(--radius-lg);
}
:is(#page,#kt-header,#kt-footer) .mockup-note{
  display: flex; align-self: flex-start;
  font-size: var(--fs-small); font-weight: var(--fw-bold);
  padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill);
  background: var(--color-yellow); color: var(--color-blue-dark);
}
:is(#page,#kt-header,#kt-footer) .field{ display: flex; flex-direction: column; gap: var(--space-2); }
:is(#page,#kt-header,#kt-footer) .field-row{ display: flex; gap: var(--space-4); }
:is(#page,#kt-header,#kt-footer) .field-row .field{ flex: 1 1 0; min-width: 0; }
:is(#page,#kt-header,#kt-footer) .field-label{ font-weight: var(--fw-bold); font-size: var(--fs-small); color: var(--color-blue-dark); }
:is(#page,#kt-header,#kt-footer) .field-input, :is(#page,#kt-header,#kt-footer) .field-textarea{
  font-family: var(--font-body); font-size: var(--fs-body); color: var(--color-blue-dark);
  background: var(--color-white);
  border: var(--border-w) solid var(--color-sky); border-radius: var(--radius-sm);
  padding: var(--space-3) var(--space-4); min-height: var(--field-h); width: 100%;
}
:is(#page,#kt-header,#kt-footer) .field-textarea{ min-height: var(--textarea-h); resize: vertical; }
:is(#page,#kt-header,#kt-footer) .field-input:focus, :is(#page,#kt-header,#kt-footer) .field-textarea:focus{ outline: none; border-color: var(--color-blue); }
@media (max-width: 640px){ :is(#page,#kt-header,#kt-footer) .field-row{ flex-direction: column; } :is(#page,#kt-header,#kt-footer) .form-mockup{ padding: var(--space-5); } }

/* Contact details */
:is(#page,#kt-header,#kt-footer) .contact-list{ display: flex; flex-direction: column; gap: var(--space-4); }
:is(#page,#kt-header,#kt-footer) .contact-item{ display: flex; flex-direction: column; gap: var(--space-1); }
:is(#page,#kt-header,#kt-footer) .contact-label{ font-family: var(--font-heading); font-weight: var(--fw-heading); color: var(--color-blue); }

/* Footer */
:is(#page,#kt-header,#kt-footer) .site-footer{ background: var(--color-blue-dark); color: var(--color-white); }
:is(#page,#kt-header,#kt-footer) .footer-inner{ display: flex; flex-direction: column; gap: var(--space-7); max-width: var(--content-max); margin: 0 auto; padding: var(--space-8) var(--gutter) var(--space-6); }
:is(#page,#kt-header,#kt-footer) .footer-top{ display: flex; justify-content: space-between; gap: var(--space-7); flex-wrap: wrap; }
:is(#page,#kt-header,#kt-footer) .footer-brand{ display: flex; flex-direction: column; gap: var(--space-4); flex: 1 1 var(--footer-brand-basis); max-width: var(--footer-brand-max); }
:is(#page,#kt-header,#kt-footer) .footer-logo{ height: var(--footer-logo-h); width: auto; max-width: var(--logo-max-w); object-fit: contain; align-self: flex-start; }
:is(#page,#kt-header,#kt-footer) .footer-cols{ display: flex; gap: var(--space-8); flex-wrap: wrap; }
:is(#page,#kt-header,#kt-footer) .footer-col{ display: flex; flex-direction: column; gap: var(--space-3); min-width: var(--footer-col-min); }
:is(#page,#kt-header,#kt-footer) .footer-heading{ font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-lead); color: var(--color-yellow); margin: 0; }
:is(#page,#kt-header,#kt-footer) .footer-link{ color: var(--color-white); text-decoration: none; }
:is(#page,#kt-header,#kt-footer) .footer-link:hover{ color: var(--color-sky); text-decoration: underline; }
:is(#page,#kt-header,#kt-footer) .footer-bottom{ display: flex; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; padding-top: var(--space-5); border-top: var(--border-w) solid var(--color-blue); font-size: var(--fs-small); }
@media (max-width: 640px){
  :is(#page,#kt-header,#kt-footer) .footer-cols{ gap: var(--space-6); }
  :is(#page,#kt-header,#kt-footer) .footer-col{ min-width: calc(50% - var(--space-4)); }
}

/* WordPress / Astra / WooCommerce / WPForms compatibility layer for kumotown.css.
   Every value comes from the :root custom properties in kumotown.css. */

#masthead, #colophon{ display: none; }
#kt-header{ position: sticky; top: 0; z-index: var(--z-header); }
.admin-bar #kt-header{ top: var(--admin-bar-h); }
#content > .ast-container, .ast-page-builder-template .site-content > .ast-container{ max-width: none; padding: 0; }
.ast-page-builder-template .entry-content, .ast-page-builder-template #primary{ margin: 0; padding: 0; }
.ast-page-builder-template .entry-content > *{ margin: 0; }
:is(#page,#kt-header,#kt-footer) .entry-content .section *{ margin-block-start: 0; margin-block-end: 0; }


/* Gutenberg buttons */
:is(#page,#kt-header,#kt-footer) .wp-block-button.button-primary, :is(#page,#kt-header,#kt-footer) .wp-block-button.button-secondary, :is(#page,#kt-header,#kt-footer) .wp-block-button.button-cart{
  display: inline-flex; padding: 0; border: 0; background: none; border-radius: 0;
}
:is(#page,#kt-header,#kt-footer) .wp-block-button.button-primary > .wp-block-button__link, :is(#page,#kt-header,#kt-footer) .wp-block-button.button-secondary > .wp-block-button__link, :is(#page,#kt-header,#kt-footer) .wp-block-button.button-cart > .wp-block-button__link{
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-body); line-height: var(--lh-snug);
  padding: var(--space-3) var(--space-6);
  border-radius: var(--radius-pill); border: var(--border-w) solid var(--color-blue);
  text-decoration: none; white-space: nowrap;
}
:is(#page,#kt-header,#kt-footer) .wp-block-button.button-primary > .wp-block-button__link{ background: var(--color-blue); color: var(--color-white); }
:is(#page,#kt-header,#kt-footer) .wp-block-button.button-primary > .wp-block-button__link:hover{ background: var(--color-blue-dark); border-color: var(--color-blue-dark); color: var(--color-white); }
:is(#page,#kt-header,#kt-footer) .wp-block-button.button-secondary > .wp-block-button__link{ background: var(--color-white); color: var(--color-blue); }
:is(#page,#kt-header,#kt-footer) .wp-block-button.button-secondary > .wp-block-button__link:hover{ background: var(--color-bg-blue); color: var(--color-blue-dark); }
:is(#page,#kt-header,#kt-footer) .wp-block-button.button-cart > .wp-block-button__link{ background: var(--color-gold); color: var(--color-blue-dark); border-color: var(--color-blue-dark); }
:is(#page,#kt-header,#kt-footer) .wp-block-buttons.button-row{ display: flex; flex-wrap: wrap; gap: var(--space-3); }

/* Gutenberg images: classes land on <figure>, styles go on the <img> */
:is(#page,#kt-header,#kt-footer) .wp-block-image.photo, :is(#page,#kt-header,#kt-footer) .wp-block-image.card-pillar-img, :is(#page,#kt-header,#kt-footer) .wp-block-image.card-category-img{
  border: 0; border-radius: 0; background: none; aspect-ratio: auto; margin: 0; overflow: visible;
}
:is(#page,#kt-header,#kt-footer) .wp-block-image.photo img{
  width: 100%; height: auto; display: block;
  border-radius: var(--radius-lg); border: var(--border-w) solid var(--color-blue); background: var(--color-bg-blue);
}
:is(#page,#kt-header,#kt-footer) .wp-block-image.photo-cover img{ aspect-ratio: 4 / 3; object-fit: cover; }
:is(#page,#kt-header,#kt-footer) .wp-block-image.photo-square img{ aspect-ratio: 1 / 1; object-fit: cover; }
:is(#page,#kt-header,#kt-footer) .wp-block-image.photo-square figcaption, :is(#page,#kt-header,#kt-footer) .wp-block-image.photo figcaption{ font-size: var(--fs-small); margin: var(--space-2) 0 0; text-align: left; color: var(--color-blue-dark); }
:is(#page,#kt-header,#kt-footer) .wp-block-image.card-pillar-img img{
  width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block;
  border-radius: var(--radius-md); border: var(--border-w) solid var(--color-blue);
}
:is(#page,#kt-header,#kt-footer) .wp-block-image.card-category-img img{ width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; border-radius: var(--radius-md); background: var(--color-bg-blue); }
:is(#page,#kt-header,#kt-footer) .card-category--wide .wp-block-image.card-category-img img{ aspect-ratio: 16 / 10; }
@media (max-width: 1024px){ :is(#page,#kt-header,#kt-footer) .wp-block-image.card-pillar-img img{ aspect-ratio: 1 / 1; } }
@media (max-width: 820px){ :is(#page,#kt-header,#kt-footer) .wp-block-image.card-category-img img, :is(#page,#kt-header,#kt-footer) .card-category--wide .wp-block-image.card-category-img img{ aspect-ratio: 1 / 1; } }
@media (max-width: 520px){ :is(#page,#kt-header,#kt-footer) .wp-block-image.card-pillar-img img{ aspect-ratio: 16 / 10; } }
@media (max-width: 480px){ :is(#page,#kt-header,#kt-footer) .wp-block-image.card-category-img img, :is(#page,#kt-header,#kt-footer) .card-category--wide .wp-block-image.card-category-img img{ aspect-ratio: 16 / 10; } }
:is(#page,#kt-header,#kt-footer) .figure-row > .wp-block-image{ flex: 1 1 var(--card-basis); min-width: var(--card-min); }

/* Linked category cards: the whole card is a group with a link on the heading */
:is(#page,#kt-header,#kt-footer) .card-category .heading-3 a{ color: inherit; text-decoration: none; }
:is(#page,#kt-header,#kt-footer) .card-category:hover{ background: var(--color-bg-blue); }

/* FAQ (core/details) */
:is(#page,#kt-header,#kt-footer) .wp-block-details.faq-item > summary{
  display: flex; align-items: center; gap: var(--space-4);
  padding: var(--space-4) var(--space-5); cursor: pointer; list-style: none;
  font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-lead); color: var(--color-blue);
}
:is(#page,#kt-header,#kt-footer) .wp-block-details.faq-item > summary::-webkit-details-marker{ display: none; }
:is(#page,#kt-header,#kt-footer) .wp-block-details.faq-item > p{ margin: 0; padding: 0 var(--space-5) var(--space-5); }
:is(#page,#kt-header,#kt-footer) .wp-block-details.faq-item[open] > summary{ color: var(--color-blue-dark); }

/* Dot list built from groups */
:is(#page,#kt-header,#kt-footer) .dot-list-item > p{ margin: 0; }

/* WooCommerce product loop styled as the product card */
:is(#page,#kt-header,#kt-footer) .woocommerce ul.products, :is(#page,#kt-header,#kt-footer) .woocommerce-page ul.products, :is(#page,#kt-header,#kt-footer) ul.products{
  display: flex !important; flex-wrap: wrap; gap: var(--space-5); margin: 0; padding: 0; list-style: none;
}
:is(#page,#kt-header,#kt-footer) ul.products::before, :is(#page,#kt-header,#kt-footer) ul.products::after{ display: none !important; }
:is(#page,#kt-header,#kt-footer) .woocommerce ul.products li.product, :is(#page,#kt-header,#kt-footer) ul.products li.product{
  display: flex; flex-direction: column;
  flex: 1 1 var(--card-basis); min-width: var(--card-min); max-width: calc(25% - var(--space-4));
  width: auto !important; margin: 0 !important; float: none !important; padding: 0;
  background: var(--color-white);
  border: var(--border-w) solid var(--color-blue); border-radius: var(--radius-md); overflow: hidden;
}
:is(#page,#kt-header,#kt-footer) ul.products.columns-3 li.product{ max-width: calc(33.333% - var(--space-4)); }
:is(#page,#kt-header,#kt-footer) ul.products.columns-2 li.product{ max-width: calc(50% - var(--space-3)); }
:is(#page,#kt-header,#kt-footer) ul.products li.product .astra-shop-thumbnail-wrap{ display: flex; border-bottom: var(--border-w) solid var(--color-blue); background: var(--color-bg-blue); }
:is(#page,#kt-header,#kt-footer) ul.products li.product img{ width: 100%; aspect-ratio: 1 / 1; object-fit: cover; margin: 0 !important; border-radius: 0; }
:is(#page,#kt-header,#kt-footer) ul.products li.product .astra-shop-summary-wrap{ display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-4) var(--space-5) var(--space-5); flex: 1; }
:is(#page,#kt-header,#kt-footer) ul.products li.product .ast-woo-product-category{ font-size: var(--fs-small); color: var(--color-blue-dark); margin: 0; }
:is(#page,#kt-header,#kt-footer) ul.products li.product .woocommerce-loop-product__title{
  font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-h3); line-height: var(--lh-snug);
  color: var(--color-blue); margin: 0; padding: 0;
}
:is(#page,#kt-header,#kt-footer) ul.products li.product .price{ font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-price); color: var(--color-blue-dark) !important; margin: 0; }
:is(#page,#kt-header,#kt-footer) ul.products li.product .button, :is(#page,#kt-header,#kt-footer) .woocommerce a.button.add_to_cart_button, :is(#page,#kt-header,#kt-footer) .woocommerce button.single_add_to_cart_button{
  display: inline-flex; align-items: center; justify-content: center; align-self: flex-start;
  font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-small);
  padding: var(--space-2) var(--space-4) !important; margin-top: var(--space-3);
  background: var(--color-gold) !important; color: var(--color-blue-dark) !important;
  border: var(--border-w) solid var(--color-blue-dark) !important; border-radius: var(--radius-pill) !important;
}
:is(#page,#kt-header,#kt-footer) ul.products li.product .button:hover{ background: var(--color-yellow) !important; }
:is(#page,#kt-header,#kt-footer) ul.products li.product .added_to_cart{ font-size: var(--fs-small); margin-top: var(--space-2); }
@media (max-width: 1024px){
  :is(#page,#kt-header,#kt-footer) ul.products li.product, :is(#page,#kt-header,#kt-footer) ul.products.columns-3 li.product{ max-width: calc(50% - var(--space-3)); flex-basis: calc(50% - var(--space-3)); }
}
@media (max-width: 640px){
  :is(#page,#kt-header,#kt-footer) ul.products{ gap: var(--space-3); }
  :is(#page,#kt-header,#kt-footer) ul.products li.product, :is(#page,#kt-header,#kt-footer) ul.products.columns-3 li.product, :is(#page,#kt-header,#kt-footer) ul.products.columns-2 li.product{ max-width: calc(50% - var(--space-2)); flex-basis: calc(50% - var(--space-2)); }
  :is(#page,#kt-header,#kt-footer) ul.products li.product .astra-shop-summary-wrap{ padding: var(--space-3); }
  :is(#page,#kt-header,#kt-footer) ul.products li.product .button{ align-self: stretch; }
}

/* WPForms styled as the form mockup */
:is(#page,#kt-header,#kt-footer) .form-mockup .wpforms-container{ margin: 0 !important; }
:is(#page,#kt-header,#kt-footer) .form-mockup .wpforms-field{ padding: 0 0 var(--space-4) !important; }
:is(#page,#kt-header,#kt-footer) .form-mockup .wpforms-field-label, :is(#page,#kt-header,#kt-footer) .form-mockup .wpforms-field-sublabel{ font-family: var(--font-body); font-weight: var(--fw-bold) !important; font-size: var(--fs-small) !important; color: var(--color-blue-dark) !important; }
:is(#page,#kt-header,#kt-footer) .form-mockup .wpforms-field input[type="text"], :is(#page,#kt-header,#kt-footer) .form-mockup .wpforms-field input[type="email"], :is(#page,#kt-header,#kt-footer) .form-mockup .wpforms-field textarea{
  font-family: var(--font-body) !important; font-size: var(--fs-body) !important; color: var(--color-blue-dark) !important;
  background: var(--color-white) !important;
  border: var(--border-w) solid var(--color-sky) !important; border-radius: var(--radius-sm) !important;
  padding: var(--space-3) var(--space-4) !important; min-height: var(--field-h) !important; max-width: 100% !important; width: 100% !important;
  box-shadow: none !important;
}
:is(#page,#kt-header,#kt-footer) .form-mockup .wpforms-field textarea{ min-height: var(--textarea-h) !important; }
:is(#page,#kt-header,#kt-footer) .form-mockup .wpforms-field input:focus, :is(#page,#kt-header,#kt-footer) .form-mockup .wpforms-field textarea:focus{ border-color: var(--color-blue) !important; outline: none; }
:is(#page,#kt-header,#kt-footer) .form-mockup .wpforms-submit-container{ padding: 0 !important; }
:is(#page,#kt-header,#kt-footer) .form-mockup button.wpforms-submit{
  width: 100%; font-family: var(--font-heading) !important; font-weight: var(--fw-heading) !important; font-size: var(--fs-body) !important;
  padding: var(--space-3) var(--space-6) !important; height: auto !important;
  background: var(--color-blue) !important; color: var(--color-white) !important;
  border: var(--border-w) solid var(--color-blue) !important; border-radius: var(--radius-pill) !important;
}
:is(#page,#kt-header,#kt-footer) .form-mockup button.wpforms-submit:hover{ background: var(--color-blue-dark) !important; border-color: var(--color-blue-dark) !important; }
:is(#page,#kt-header,#kt-footer) .form-mockup .wpforms-confirmation-container-full{ background: var(--color-bg-blue) !important; border: var(--border-w) solid var(--color-blue) !important; border-radius: var(--radius-sm); color: var(--color-blue-dark) !important; }

/* Spectra: sections, FAQ accordion, quote pop-up */
:is(#page,#kt-header,#kt-footer) .section.wp-block-spectra-container{ flex-direction: row; align-items: flex-start; }
:is(#page,#kt-header,#kt-footer) .wp-block-spectra-accordion.faq-group{ display: flex; flex-direction: column; gap: var(--space-3); width: 100%; }
:is(#page,#kt-header,#kt-footer) .wp-block-spectra-accordion-child-item.faq-item{ width: 100%; background: var(--color-white); border: var(--border-w) solid var(--color-blue); border-radius: var(--radius-sm); overflow: hidden; }
:is(#page,#kt-header,#kt-footer) .wp-block-spectra-accordion-child-item > button, :is(#page,#kt-header,#kt-footer) .wp-block-spectra-accordion-child-header{
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); width: 100%;
  padding: var(--space-4) var(--space-5); background: var(--color-white); border: 0; cursor: pointer; text-align: left;
  font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-lead); line-height: var(--lh-snug); color: var(--color-blue);
}
:is(#page,#kt-header,#kt-footer) .wp-block-spectra-accordion-child-item.is-active > button, :is(#page,#kt-header,#kt-footer) .wp-block-spectra-accordion-child-item.is-active .wp-block-spectra-accordion-child-header{ color: var(--color-blue-dark); background: var(--color-bg-blue); }
:is(#page,#kt-header,#kt-footer) .wp-block-spectra-accordion-child-details{ padding: var(--space-4) var(--space-5) var(--space-5); font-size: var(--fs-body); }
:is(#page,#kt-header,#kt-footer) .wp-block-spectra-accordion-child-details .faq-answer{ max-width: none; }
:is(#page,#kt-header,#kt-footer) .wp-block-spectra-accordion-child-header-icon svg{ fill: var(--color-blue); width: var(--fs-lead); height: var(--fs-lead); }
:is(#page,#kt-header,#kt-footer) .kt-modal .wp-block-spectra-modal-child-button{
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-body);
  padding: var(--space-3) var(--space-6); border-radius: var(--radius-pill);
  background: var(--color-blue); color: var(--color-white); border: var(--border-w) solid var(--color-blue); cursor: pointer;
}
:is(#page,#kt-header,#kt-footer) .kt-modal .wp-block-spectra-modal-child-button:hover{ background: var(--color-blue-dark); border-color: var(--color-blue-dark); }
:is(#page,#kt-header,#kt-footer) .kt-modal .wp-block-spectra-modal-popup-content, :is(#page,#kt-header,#kt-footer) .kt-modal .kt-modal-content{
  width: var(--modal-w) !important; max-width: calc(100vw - var(--space-6)) !important; max-height: calc(100vh - var(--space-7)) !important;
  height: auto !important; overflow-y: auto !important;
  padding: var(--space-6) !important; background: var(--color-white) !important;
  border: var(--border-w) solid var(--color-blue) !important; border-radius: var(--radius-lg) !important;
  display: flex; flex-direction: column; gap: var(--space-4);
}
:is(#page,#kt-header,#kt-footer) .kt-modal .kt-modal-content .form-mockup{ padding: 0; border: 0; }
@media (max-width: 640px){ :is(#page,#kt-header,#kt-footer) .kt-modal .kt-modal-content{ padding: var(--space-5) !important; } }
