/* Laalu catalogue only. WooCommerce owns product data, sorting, pagination and cart actions. */
body.laalu-catalogue{--ll-ink:#34556b;--ll-paper:#faf4ec;--ll-cream:#f4e8d8;--ll-pink:#e1777b;--ll-line:#e5dacb;background:var(--ll-paper);color:var(--ll-ink)}
body.laalu-catalogue #masthead,body.laalu-catalogue #colophon,body.laalu-catalogue #secondary{display:none!important}
body.laalu-catalogue #content>.ast-container{display:block;max-width:none;width:100%;padding:0}
body.laalu-catalogue #primary{float:none;width:100%;margin:0!important;padding:0!important;border:0!important}
body.laalu-catalogue #main{box-sizing:border-box;width:calc(100% - 48px);max-width:1180px;margin:0 auto;padding:24px 0 64px;min-height:260px}
body.laalu-catalogue .woocommerce-products-header:empty{display:none}
.ll-top,.ll-top *, .ll-footer,.ll-footer *{box-sizing:border-box}
.ll-top,.ll-footer{font-family:var(--ll-font);font-size:16px;line-height:1.5;color:var(--ll-ink)}
.ll-shell{width:calc(100% - 48px);max-width:1180px;margin-inline:auto}
.ll-top a,.ll-footer a{text-decoration:none!important;color:inherit;box-shadow:none}
.ll-top a:focus-visible,.ll-top summary:focus-visible,.ll-top input:focus-visible,.ll-top button:focus-visible,.ll-footer a:focus-visible,body.laalu-catalogue #main a:focus-visible{outline:3px solid #466173;outline-offset:4px}
.ll-skip{position:absolute;top:-200px;left:16px;padding:12px 20px;background:white;z-index:1000}
.ll-skip:focus{top:40px}
.ll-header{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:32px;position:relative;z-index:5}
.ll-logo{display:inline-block;flex-shrink:0;font:60px/1 var(--ll-font)!important;letter-spacing:-4px;white-space:nowrap}
.ll-logo b{font-weight:400}.ll-logo b:nth-child(1){color:#f56f9b}.ll-logo b:nth-child(2){color:#ff8838}.ll-logo b:nth-child(3){color:#ffc83d}.ll-logo b:nth-child(4){color:#8bc86e}.ll-logo b:nth-child(5){color:#83c5e8}
.ll-desktop-nav{display:flex;gap:32px;flex-wrap:wrap;align-items:center}
.ll-desktop-nav a{font-size:13px;letter-spacing:.05em;font-weight:700;text-transform:uppercase;padding-block:12px}
.ll-desktop-nav a:hover,.ll-footer nav a:hover{text-decoration:underline!important;text-underline-offset:5px}
.ll-actions{display:flex;align-items:center;gap:8px}
.ll-icon,.ll-actions summary{width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;list-style:none}
.ll-actions summary::-webkit-details-marker{display:none}.ll-actions summary::marker{content:''}
.ll-icon:hover,.ll-actions summary:hover,.ll-actions details[open]>summary{background:#f4cfd1}
.ll-actions svg{display:block;flex-shrink:0}
.ll-search-panel{position:absolute;right:0;top:calc(100% - 8px);width:min(440px,100%);background:var(--ll-paper);padding:22px;border:1px solid var(--ll-line);box-shadow:0 12px 30px #34556b16;border-radius:16px;z-index:10}
.ll-search-panel label{display:block;font-weight:700;margin-bottom:12px}.ll-search-panel>div{display:flex;gap:8px}.ll-search-panel input[type=search]{width:100%;min-width:0;background:white;border:1px solid #877c73;border-radius:6px;padding:10px;font:16px var(--ll-font)}
.ll-search-panel button{border:0;border-radius:6px;background:#34556b;color:white;padding:10px 14px;font:700 14px var(--ll-font)}
.ll-mobile{display:none}
.ll-hero{position:relative;background:var(--ll-cream);text-align:center;padding:50px 0 46px;overflow:hidden;isolation:isolate;border-top:4px solid #f4cfd1}
.ll-hero::before,.ll-hero::after{content:'';position:absolute;border-radius:50%;z-index:-1;pointer-events:none}
.ll-hero::before{width:210px;height:210px;left:-115px;top:-75px;background:#f4cfd1}
.ll-hero::after{width:170px;height:170px;right:-160px;bottom:-150px;border:25px solid #e1777b;box-shadow:0 0 0 25px #de7033,0 0 0 50px #edaf34,0 0 0 75px #778b50,0 0 0 100px #74a1c0}
.ll-eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;margin:0 0 14px;color:#834547}
.ll-hero h1{font:400 clamp(36px,4.5vw,62px)/1.08 var(--ll-font);letter-spacing:-.035em;margin:0 auto 16px;max-width:850px;overflow-wrap:break-word;color:var(--ll-ink)}
.ll-intro{font:18px/1.55 var(--ll-font);max-width:650px;margin:0 auto}
.ll-categories{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding-block:28px;border-bottom:1px solid var(--ll-line)}
.ll-chip{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 18px;font-size:14px;font-weight:700;border:1px solid transparent;border-radius:100px;background:#f8e2d6}
.ll-chip:first-child{background:#74a1c0}
.ll-chip:nth-child(2){background:#f8e2d6}
.ll-chip:nth-child(3){background:#dde2d3}.ll-chip:nth-child(4){background:#f8dfae}.ll-chip:nth-child(5){background:#f4cfd1}.ll-chip:nth-child(6){background:#cedee9}
.ll-chip.is-current{background:var(--ll-ink)!important;color:#fff!important}.ll-chip:hover{border-color:var(--ll-ink)}
body.laalu-catalogue .woocommerce-result-count{font:14px/1.5 var(--ll-font);color:#625c57;padding:12px 0;margin:0 0 24px}
body.laalu-catalogue .woocommerce-ordering{margin:0 0 24px}
body.laalu-catalogue .woocommerce-ordering select{max-width:100%;min-height:44px;border:1px solid var(--ll-line);border-radius:30px;background:white;color:var(--ll-ink);font-size:14px;padding:10px 36px 10px 16px}
body.laalu-catalogue ul.products{clear:both;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:28px 24px!important;padding:0!important;margin:0 0 32px!important;width:100%}
body.laalu-catalogue ul.products::before,body.laalu-catalogue ul.products::after{display:none!important}
body.laalu-catalogue ul.products li.product{position:relative;float:none!important;width:auto!important;min-width:0;margin:0!important;padding:0 0 18px!important;border:1px solid var(--ll-line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:none;text-align:left}
body.laalu-catalogue ul.products li.product a{text-decoration:none}
body.laalu-catalogue ul.products li.product a img{display:block;width:100%!important;aspect-ratio:1/1;object-fit:contain;background:#f8f1e8;margin:0!important;border-radius:0}
body.laalu-catalogue ul.products li.product .astra-shop-summary-wrap{padding:16px 16px 0}
body.laalu-catalogue ul.products li.product .ast-woo-product-category{font:12px/1.5 var(--ll-font);color:#665f58;margin:0 0 6px;display:block}
body.laalu-catalogue ul.products li.product .woocommerce-loop-product__title{font:400 21px/1.25 var(--ll-font)!important;color:var(--ll-ink);padding:0!important;margin:0 0 10px!important;overflow-wrap:break-word}
body.laalu-catalogue ul.products li.product .price{display:block;color:var(--ll-ink)!important;font:700 16px/1.5 var(--ll-font)!important;margin:8px 0 14px!important}
body.laalu-catalogue ul.products li.product .price del{font-weight:400;opacity:.7;margin-right:5px}
body.laalu-catalogue ul.products li.product .price ins{background:none;text-decoration:none}
body.laalu-catalogue ul.products li.product .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:11px 18px!important;margin:0!important;border:0!important;border-radius:28px!important;background:#f4cfd1!important;color:#34556b!important;font:800 14px/1.35 var(--ll-font)!important;white-space:normal;box-shadow:none}
@media (hover:hover) and (pointer:fine){body.laalu-catalogue ul.products li.product .button:hover{background:#eeb4b6!important}}
body.laalu-catalogue ul.products li.product .added_to_cart,
body.laalu-catalogue ul.products li.product a.added_to_cart{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:44px;padding:11px 18px!important;margin:8px 0 0!important;
  border-radius:28px!important;background:#d5e3ec!important;color:#34556b!important;
  font:800 14px/1.2 var(--ll-font)!important;text-decoration:none!important;
}
body.laalu-catalogue ul.products li.product .onsale{position:absolute;top:12px!important;left:12px!important;right:auto!important;margin:0!important;padding:6px 12px!important;min-height:0!important;min-width:0!important;border-radius:20px;background:#edaf34!important;color:#34556b!important;font:700 12px/1.5 var(--ll-font)!important;z-index:2}
body.laalu-catalogue .woocommerce-pagination ul{border:0!important;display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
body.laalu-catalogue .woocommerce-pagination ul li{border:0!important}
body.laalu-catalogue .woocommerce-pagination ul li>*{display:grid!important;place-items:center;min-width:44px;min-height:44px;border-radius:50%;background:white;color:var(--ll-ink)}
body.laalu-catalogue .woocommerce-pagination ul li .current{background:#f4cfd1!important;color:var(--ll-ink)!important}
body.laalu-catalogue .woocommerce-info{background:#faebe2;color:var(--ll-ink);border-top-color:#edb08f}
.ll-footer{border-top:1px solid var(--ll-line);background:#f4e8d8;padding:40px 0}
.ll-footer>.ll-shell{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:26px}
.ll-footer .ll-logo{display:block;width:150px;line-height:0}.ll-footer .ll-logo img{display:block;width:100%;height:auto}.ll-footer p{font-size:14px;margin:12px 0 0}.ll-footer nav{display:flex;gap:22px;flex-wrap:wrap;font-size:14px}.ll-footer small{font-size:12px;color:#665f58}.ll-footer .ll-instagram-link{display:inline-flex;align-items:center;gap:7px;font-weight:700}.ll-footer .ll-instagram-link svg{flex:0 0 auto}
body.ll-global-footer-page #colophon{display:none!important}
@media(max-width:1024px){.ll-desktop-nav{gap:18px}.ll-header{gap:18px}body.laalu-catalogue ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.ll-shell,body.laalu-catalogue #main{width:calc(100% - 32px)}.ll-header{min-height:82px;gap:8px}.ll-logo{font-size:46px!important;letter-spacing:-3px}.ll-desktop-nav{display:none}.ll-actions{gap:0}.ll-mobile{display:block}.ll-mobile nav{position:absolute;right:0;top:calc(100% - 4px);padding:12px;width:min(320px,100%);border:1px solid var(--ll-line);border-radius:14px;background:var(--ll-paper);box-shadow:0 12px 30px #34556b16;z-index:11}.ll-mobile nav a{display:block;padding:12px;font-weight:700}.ll-hero{padding:36px 0}.ll-hero h1{max-width:480px}.ll-intro{font-size:17px}.ll-hero::after{opacity:.5;right:-200px}.ll-categories{gap:8px;padding-block:22px;justify-content:center}
.ll-chip{font-size:13px;padding:9px 14px;white-space:normal;text-align:center;max-width:100%}body.laalu-catalogue ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 12px!important}body.laalu-catalogue ul.products li.product .astra-shop-summary-wrap{padding:12px 12px 0}body.laalu-catalogue ul.products li.product .woocommerce-loop-product__title{font-size:19px!important}body.laalu-catalogue ul.products li.product .button{padding:10px 12px!important}.ll-footer>.ll-shell{align-items:flex-start}.ll-footer nav{gap:16px}.ll-footer small{width:100%}}
@media(max-width:420px){.ll-logo{font-size:40px!important}.ll-icon,.ll-actions summary{width:40px;height:44px}.ll-hero h1{font-size:36px}body.laalu-catalogue .woocommerce-result-count,body.laalu-catalogue .woocommerce-ordering{float:none;width:100%;margin-bottom:12px}body.laalu-catalogue .woocommerce-ordering select{width:100%}body.laalu-catalogue ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 10px!important}body.laalu-catalogue ul.products li.product .astra-shop-summary-wrap{padding:10px 10px 0}body.laalu-catalogue ul.products li.product .ast-woo-product-category{font-size:11px}body.laalu-catalogue ul.products li.product .woocommerce-loop-product__title{font-size:17px!important;line-height:1.2}body.laalu-catalogue ul.products li.product .price{font-size:14px!important;margin:7px 0 10px!important}body.laalu-catalogue ul.products li.product .button{width:100%;min-height:40px;padding:9px 8px!important;font-size:13px!important}.ll-search-panel{padding:16px}}
@media(prefers-reduced-motion:reduce){body.laalu-catalogue *{scroll-behavior:auto!important}}

/* 1.0.1: header rules copied from the supplied original homepage. */
.ll-top {--ink:#34556b;--paper:#faf4ec;--cream:#f4e8d8;--pink:#e1777b;--pink-soft:#f4cfd1;--orange:#de7033;--yellow:#edaf34;--green:#778b50;--blue:#74a1c0;--line:rgba(24,22,20,.12)}
.ll-top .laalu-nav {position:relative;z-index:5;color:var(--ink);font-family:var(--ll-font);font-size:16px;line-height:1.5}
.ll-top .laalu-nav a {color:inherit;text-decoration:none!important;border-bottom:0!important;box-shadow:none!important}
.ll-top .laalu-nav .ll-search summary {list-style:none;cursor:pointer}
.ll-top .laalu-nav .ll-search summary::-webkit-details-marker {display:none}
.ll-top .laalu-nav .ll-search summary::marker {content:''}
.ll-top .laalu-nav .ll-search summary:focus-visible {outline:3px solid #466173;outline-offset:4px}
.ll-top .laalu-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.ll-top .laalu-nav {
    display: grid;
    grid-template-columns: 220px 1fr auto;
    align-items: center;
    min-height: 112px;
    gap: 28px;
  }
.ll-top .laalu-logo {
    font-family: var(--ll-font);
    font-size: clamp(48px, 5vw, 66px);
    font-weight: 500;
    letter-spacing: -.055em;
    line-height: 1;
    text-decoration: none !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }
.ll-top .laalu-logo img { display:block; width:150px; height:auto; }
.ll-top .laalu-logo span:nth-child(1) { color: var(--pink); }
.ll-top .laalu-logo span:nth-child(2) { color: var(--orange); }
.ll-top .laalu-logo span:nth-child(3) { color: var(--yellow); }
.ll-top .laalu-logo span:nth-child(4) { color: var(--green); }
.ll-top .laalu-logo span:nth-child(5) { color: var(--blue); }
.ll-top .laalu-menu {
    display: flex;
    justify-content: center;
    gap: clamp(22px, 3.5vw, 52px);
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
  }
.ll-top .laalu-menu a,
.ll-top .laalu-icon-link { transition: color .2s ease, transform .2s ease; }
.ll-top .laalu-menu a:hover,
.ll-top .laalu-menu a:focus-visible { color: var(--pink); }
.ll-top .laalu-actions { display: flex; align-items: center; gap: 20px; }
.ll-top .laalu-icon-link { display: grid; place-items: center; width: 27px; height: 27px; }
.ll-top .laalu-icon-link:hover { color: var(--pink); }
@media (hover: hover) {
  .ll-top .laalu-icon-link:hover { transform: translateY(-2px); }
}
.ll-top .laalu-icon-link svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.ll-top .laalu-mobile-nav { display: none; }
.ll-top .laalu-mobile-nav summary { list-style: none; }
.ll-top .laalu-mobile-nav summary::-webkit-details-marker { display: none; }
@media (max-width: 1000px) {
.ll-top .laalu-nav { grid-template-columns: 1fr auto; min-height: 90px; }
.ll-top .laalu-menu { grid-column: 1 / -1; grid-row: 2; padding: 0 0 20px; gap: 24px; overflow-x: auto; justify-content: flex-start; }
}
@media (max-width: 700px) {
.ll-top .laalu-shell { width: min(100% - 28px, 1180px); }
.ll-top .laalu-nav { position: relative; display: flex; min-height: 74px; gap: 14px; padding-top: 8px; padding-bottom: 8px; }
.ll-top .laalu-logo { flex: 0 0 auto; font-size: 44px; line-height: 1; }
.ll-top .laalu-nav > nav,
.ll-top .laalu-actions { display: none !important; }
.ll-top .laalu-mobile-nav { display: block; margin-left: auto; }
.ll-top .laalu-mobile-nav summary {
      display: grid;
      place-items: center;
      width: 44px;
      height: 44px;
      border: 2px solid var(--ink);
      border-radius: 50%;
      background: #faf4ec;
      color: var(--ink);
      font-size: 25px;
      font-weight: 700;
      line-height: 1;
      cursor: pointer;
    }
.ll-top .laalu-mobile-nav[open] summary { background: var(--pink-soft); }
.ll-top .laalu-mobile-panel {
      position: absolute;
      z-index: 50;
      top: calc(100% - 2px);
      right: 0;
      width: min(320px, calc(100vw - 28px));
      padding: 12px;
      border: 1px solid rgba(24,22,20,.12);
      border-radius: 16px;
      background: #faf4ec;
      box-shadow: 0 16px 40px rgba(24,22,20,.18);
    }
.ll-top .laalu-mobile-panel a {
      display: flex;
      align-items: center;
      min-height: 46px;
      padding: 8px 12px;
      border-radius: 10px;
      font-size: 13px;
      font-weight: 800;
      letter-spacing: .04em;
      text-transform: uppercase;
    }
.ll-top .laalu-mobile-panel a:hover,
.ll-top .laalu-mobile-panel a:focus { background: var(--pink-soft); }
.ll-top .laalu-mobile-tools { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
.ll-top .laalu-mobile-tools a { justify-content: center; font-size: 11px; text-align: center; }
}

/* Homepage lives in a Custom HTML block, so replace its old text logo with the same image. */
body:has(.laalu-home) .laalu-home .laalu-logo {
  display:block;
  width:150px !important;
  height:74px;
  background:url('assets/laalu-logo-2026.png') center/contain no-repeat;
  font-size:0 !important;
  line-height:0 !important;
}
body:has(.laalu-home) .laalu-home .laalu-logo span { display:none !important; }
@media (max-width:700px) {
  body:has(.laalu-home) .laalu-home .laalu-logo { width:125px !important; height:61px; }
}
@media (max-width:420px) {
  body:has(.laalu-home) .laalu-home .laalu-logo { width:110px !important; height:54px; }
}
@media (max-width: 420px) {
.ll-top .laalu-shell { width: calc(100% - 24px); }
.ll-top .laalu-logo { font-size: 40px; }
}

/* 1.0.2: match the homepage pink top edge. */
body.laalu-catalogue .ll-top { border-top: 6px solid #f4cfd1; }

/* 1.9.0: keep the playful colour language on every Laalu page. */
.ll-top .laalu-nav {
  isolation:isolate;
  background:
    radial-gradient(circle at 7% 0%, rgba(244,207,209,.78) 0 52px, transparent 53px),
    radial-gradient(circle at 13% 100%, rgba(116,161,192,.23) 0 36px, transparent 37px),
    linear-gradient(90deg, #faf4ec 0%, #fcf9f5 56%, #f4e8d8 100%);
  border-bottom:4px solid #f4cfd1;
}
.ll-top .laalu-nav::after {
  content:'';
  position:absolute;
  z-index:-1;
  right:clamp(12px,5vw,82px);
  bottom:-4px;
  width:130px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#e1777b 0 20%,#de7033 20% 40%,#edaf34 40% 60%,#778b50 60% 80%,#74a1c0 80% 100%);
}

/* A dependable rainbow word: some theme rules previously cancelled the text clip. */
body:has(.laalu-home) .laalu-home .laalu-rainbow-word {
  display:inline-block;
  background:linear-gradient(90deg,#e1777b 0 22%,#de7033 22% 42%,#edaf34 42% 61%,#778b50 61% 79%,#74a1c0 79% 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:transparent !important;
}

/* A hand-drawn wave replaces the clipped, half-circle underline. */
body:has(.laalu-home) .laalu-home .laalu-wiggle {
  width:82px;
  height:14px;
  margin:0 auto 30px;
  border:0;
  border-radius:0;
  transform:none;
  background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 82 14'%3E%3Cpath d='M2 8c9-8 18 8 28 0s19 8 29 0 15 5 21 0' fill='none' stroke='%23f56f9b' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Photo-based homepage campaign assets. The original SVGs remain in the page markup
   as an accessible fallback, but are visually replaced only on the homepage. */
body:has(.laalu-home) .laalu-home .laalu-hero-media { background:#faf4ec; }
body:has(.laalu-home) .laalu-home .laalu-hero-art {
  background:#faf4ec;
}
body:has(.laalu-home) .laalu-home .laalu-hero-art > svg { display:none; }
body:has(.laalu-home) .laalu-home .laalu-category-card > svg { display:none; }
body:has(.laalu-home) .laalu-home .laalu-category-card .ll-category-photo {
  display:block; width:100%; height:auto; aspect-ratio:.82; object-fit:cover;
}
body:has(.laalu-home) .laalu-home .laalu-category-label { position:relative; z-index:1; }
body:has(.laalu-home) .laalu-home .laalu-new-image {
  background:#eeb4b6;
}
body:has(.laalu-home) .laalu-home .laalu-new-image > svg { display:none; }

@media(max-width:700px) {
  .ll-top .laalu-nav { background:linear-gradient(90deg,#faf4ec,#f4e8d8); }
  .ll-top .laalu-nav::after { width:82px; right:20px; }
}
