/** Shopify CDN: Minification failed

Line 256:19 Unexpected "{"
Line 256:26 Expected ":"
Line 256:33 Unexpected "{"
Line 260:20 Unexpected "{"
Line 260:27 Expected ":"
Line 267:22 Unexpected "{"
Line 267:29 Expected ":"
Line 275:22 Unexpected "{"
Line 275:29 Expected ":"
Line 279:20 Unexpected "{"
... and 140 more hidden warnings

**/
.xl\:px-20 {
	padding-left: 0rem;
	padding-right: 0rem;
}


.product-media-container {
  background-color: #f8f8f6;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  border-radius: 0.8rem;
  overflow: hidden;
  padding: 25px;
}

.page-width--narrow {max-width: 90rem;}

.rte ul, .rte ol {
    list-style-position: outside;
    padding-left: 2rem;
}

/* Hide price and add to cart in Algolia search results */

.ais-page .ais-hit--cart-button,
.ais-page .ais-hit--subtitle,
.ais-page .ais-hit--price
 {
  display: none !important;
}

/* Increase Algolia search results columns */
.ais-Hits-list,
.ais-InfiniteHits-list {
  grid-template-columns: repeat(4, 1fr) !important;
}

@media screen and (max-width: 989px) {
  .ais-Hits-list,
  .ais-InfiniteHits-list {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media screen and (max-width: 749px) {
  .ais-Hits-list,
  .ais-InfiniteHits-list {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}



.product-media {
  aspect-ratio: unset !important;
  --ratio: 0.6666 !important;
}

.product-media__image {
  object-fit: contain !important;
  object-position: center top !important;
  background-color: #ffffff;
  width: 100%;
  height: auto !important;
}


slideshow-slide.constrain-height {
  --grid-template-rows-desktop: 60dvh !important;
}

slideshow-slide.constrain-height .product-media {
  max-height: 60dvh;
}

slideshow-slide.constrain-height .product-media__image {
  max-height: 60dvh;
  object-fit: contain;
  object-position: center top;
}


/* Remove quick-add / add to cart button */
.product-card .product-card__quick-add,
.product-card [class*="quick-add"],
.product-card product-form,
.product-card .card-quick-add {
  display: none !important;
  height: 0px;
}

/* Remove whitespace below product media image */
slideshow-slide.constrain-height .product-media {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  max-height: 60dvh;
}

slideshow-slide.constrain-height .product-media__image {
  width: auto;
  height: 100%;
  max-height: 60dvh;
  max-width: 100%;
  object-fit: contain;
  object-position: center center;
  display: block;
}

/* ── Collection card — disable hover image swap ── */
.card-gallery {
  pointer-events: none !important;
}
.card-gallery a.contents {
  pointer-events: auto !important;
}

/* ── Collection card — hide all slides after first ── */
.card-gallery slideshow-slides slideshow-slide:not(:first-child) {
  display: none !important;
}

/* ── Collection card — hide quick-add button ── */
quick-add-component {
  display: none !important;
}

/* ── Collection card — remove whitespace, portrait ratio ── */
.card-gallery {
  --gallery-aspect-ratio: 0.675 !important;
}

.card-gallery .product-media {
  --ratio: 0.675 !important;
  aspect-ratio: 0.675 !important;
  overflow: hidden;
}

.card-gallery .product-media__image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #ffffff;
}

.card-gallery {
  --border-radius: 0px !important;
  border-radius: 0 !important;
}

.card-gallery .product-media,
.card-gallery slideshow-slide,
.card-gallery slideshow-slides {
  border-radius: 0 !important;
}

.blog-post-content
{max-width:90%;}

/* Mega menu column heading — the "parent" link acts as the heading
   (confirmed real markup: <a class="mega-menu__link mega-menu__link--parent">
   wrapping <span class="wrap-text">Popular UK trails</span>) */
.mega-menu__link--parent {
  color: #2d6a2d; /* adjust to Cicerone's exact brand green hex */
  font-weight: 700;
  font-size: 15px;
  padding-bottom: 6px;
  margin-bottom:6px;
  border-bottom: 2px solid #2d6a2d;
  display: inline-block;
  text-decoration: none;
}

/* Sub-item link spacing — the list itself uses CSS multi-column layout
   (column-count set inline by the theme, likely for splitting long
   lists into 2+ columns automatically), so this only adjusts spacing
   between items rather than overriding to flexbox, which would break
   that column-splitting behavior on longer lists. */
.mega-menu__column .list-unstyled li {
  margin-bottom: 10px; /* controls spacing between links */
}

.mega-menu__column .list-unstyled a {
  font-size: 15px;
  line-height: 1.3;  
  text-decoration: none;
}

.mega-menu__column .list-unstyled a:hover {
  text-decoration: underline;
}

.bg-black {background-color: black !important;}

[class*="static-blog-title"] h2 {
  color: #254bb0 !important;
}

p:not(.h1,.h2,.h3,.h4,.h5,.h6) a:where(:not(.button,.button-secondary)), 
  .rte :is(p,ul,ol,table):not(.h1,.h2,.h3,.h4,.h5,.h6) 
  :not(.shopify-block) a:where(:not(.button,.button-secondary)) 
  {text-decoration:underline !important;}

[class*="ai-footer-grid"][class*="ai-footer-grid"],
[class*="ai-footer-grid"][class*="ai-footer-grid"] a:where(:not(.button, .button-secondary)) {
  color: #fff !important;
  text-decoration: none !important;
}

[class*="ai-footer-grid"][class*="ai-footer-grid"] a:where(:not(.button, .button-secondary)):hover {
  text-decoration: underline !important;
}

.button:hover,
.button:focus,
.button:active {
  color: white !important;
}


.button-unstyled:hover,
.button-unstyled:focus,
.header-actions__action:hover,
.header-actions__action:focus
{
  color: black !important;
}

.bg-extra {display:none;}

article h4 {font-weight:700; font-size:1.2em;}

.matrix h2 {font-size: 1.2em;}

.matrix p {font-weight:400;}

 #cic-buy-buttons-{{ block.id }} {
    padding-top: 0.15rem;
    padding-right: 3rem;
  }
  #cic-buy-buttons-{{ block.id }} .fs-options {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
    margin-bottom: 0.5rem;
  }
  @media screen and (min-width: 750px) {
    #cic-buy-buttons-{{ block.id }} .fs-options {
      display: grid;
      grid-template-columns: 1fr 1fr;
      /* Each cell keeps its natural height. Without this, the available-variant
         cell stretches to match the OOS wrapper (label + BIS trigger), leaving a
         visually inflated card with empty internal space. */
      align-items: start;
    }
    #cic-buy-buttons-{{ block.id }} .fs-option--bundle {
      grid-column: 1 / -1;
    }
  }
  #cic-buy-buttons-{{ block.id }} .fs-option {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.65em !important;
    padding: 0.6em 0.8em !important;
    border: 1px solid #cccccc !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: border-color 0.15s, box-shadow 0.15s;
    font-size: 1em;
    background: transparent !important;
    box-sizing: border-box !important;
    width: 100% !important;
    user-select: none;
  }
  #cic-buy-buttons-{{ block.id }} .fs-option:hover:not(.fs-option--unavailable) {
    border-color: rgba(var(--color-foreground-rgb, var(--color-foreground)), 0.45);
  }
  #cic-buy-buttons-{{ block.id }} .fs-option--selected {
    border-color: #006611 !important;
    border-width: 2px !important;
  }
  #cic-buy-buttons-{{ block.id }} .fs-option--unavailable {
    opacity: 0.5;
    cursor: not-allowed;
  }
  #cic-buy-buttons-{{ block.id }} .fs-option__input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
  }
  #cic-buy-buttons-{{ block.id }} .fs-radio {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    border-radius: 50% !important;
    border: 1.5px solid #999999 !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: border-color 0.15s;
    box-sizing: border-box !important;
    background: #ffffff !important;
    margin-top: 0.15em !important;
    position: relative !important;
  }
  #cic-buy-buttons-{{ block.id }} .fs-option--selected .fs-radio {
    border-color: #006611 !important;
  }
  #cic-buy-buttons-{{ block.id }} .fs-radio__dot {
    display: none;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #006611;
  }
  #cic-buy-buttons-{{ block.id }} .fs-option--selected .fs-radio__dot {
    display: block;
  }
  #cic-buy-buttons-{{ block.id }} .fs-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.1em;
    min-width: 0;
  }
  #cic-buy-buttons-{{ block.id }} .fs-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5em;
  }
  #cic-buy-buttons-{{ block.id }} .fs-label {
    font-size: 1em;
    font-weight: 600;
    color: rgb(var(--color-foreground));
    line-height: 1.3;
  }
  #cic-buy-buttons-{{ block.id }} .fs-desc {
    font-size: 0.88em;
    color: rgba(var(--color-foreground-rgb, var(--color-foreground)), 0.65);
    line-height: 1.35;
  }
  #cic-buy-buttons-{{ block.id }} .fs-price {
    font-size: 1em;
    font-weight: 600;
    color: #006611;
    white-space: nowrap;
    flex-shrink: 0;
  }
  #cic-buy-buttons-{{ block.id }} .fs-price__compare {
    font-size: 0.85em;
    font-weight: 400;
    color: rgba(var(--color-foreground-rgb, var(--color-foreground)), 0.45);
    margin-right: 0.4em;
  }
  #cic-buy-buttons-{{ block.id }} .fs-badge {
    display: inline-block;
    font-size: 0.85em;
    font-weight: 700;
    color: #ffffff;
    background: #8C111D;
    border-radius: 4px;
    padding: 0.1em 0.5em;
    margin-left: 0.5em;
  }
  #cic-buy-buttons-{{ block.id }} .fs-badge--preorder {
    background: #1a5ea8;
  }
  #cic-buy-buttons-{{ block.id }} .fs-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    padding-top: 0.4rem;
    flex-wrap: wrap;
  }
  #cic-buy-buttons-{{ block.id }} .fs-retailer-text {
    font-size: 0.85em;
    line-height: 1.4;
    color: rgba(var(--color-foreground-rgb, var(--color-foreground)), 0.75);
    margin: 0;
    flex: 1 1 auto;
    min-width: 200px;
    max-width: 50%;
  }
  #cic-buy-buttons-{{ block.id }} .fs-retailer-text a {
    color: inherit;
    text-decoration: underline;
  }
  #cic-buy-buttons-{{ block.id }} .fs-atc {
    white-space: nowrap;
    flex-shrink: 0;
    background-color: #006611;
    border-color: #006611;
    color: #ffffff;
    transition: background-color 0.15s;
  }
  #cic-buy-buttons-{{ block.id }} .fs-atc:hover:not([disabled]) {
    background-color: #005510;
    border-color: #005510;
  }
  #cic-buy-buttons-{{ block.id }} .fs-atc[disabled] {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
    background-color: #888888;
    border-color: #888888;
    color: #ffffff;
  }

  /* Print variant + BIS wrapper. The wrapper stacks the disabled print label
     with our custom BIS UI beneath it, keeping both in a single grid cell so
     the neighbouring eBook option isn't pushed sideways. */
  #cic-buy-buttons-{{ block.id }} .fs-option-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
  }

  /* Custom BIS form. Skips Klaviyo's auto-injected popup so we can send the
     subscription to the correct print-product variant instead of the wrapper
     product Klaviyo would read from the current page context. */
  #cic-buy-buttons-{{ block.id }} .cic-bis-toggle {
    align-self: stretch;
    padding: 0.6em 0.9em;
    color: #ffffff;
    background: #006611;
    border: 1px solid #006611;
    border-radius: 6px;
    font-size: 0.92em;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s;
  }
  #cic-buy-buttons-{{ block.id }} .cic-bis-toggle:hover {
    background: #005510;
  }
  /* :not([hidden]) prevents the display rule from clobbering the initial
     `hidden` attribute on the form (which would otherwise render open on
     first paint before the JS runs).

     Grid with explicit `order` gives the visual layout:
       Row 1: contact input (spans both columns)
       Row 2: consent — checkbox for email, disclaimer text for SMS (spans both)
       Row 3: [ Notify me! ][ Text me instead / Email me instead ]
     regardless of DOM order. */
  #cic-buy-buttons-{{ block.id }} .cic-bis-form:not([hidden]) {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.5em;
    align-items: center;
  }
  #cic-buy-buttons-{{ block.id }} .cic-bis-form input[type="email"],
  #cic-buy-buttons-{{ block.id }} .cic-bis-form .iti {
    order: 1;
    grid-column: 1 / -1;
  }
  #cic-buy-buttons-{{ block.id }} .cic-bis-consent,
  #cic-buy-buttons-{{ block.id }} .cic-bis-sms-disclaimer {
    order: 2;
    grid-column: 1 / -1;
  }
  #cic-buy-buttons-{{ block.id }} .cic-bis-form button[type="submit"] {
    order: 3;
    grid-column: 1;
    justify-self: start;
  }
  #cic-buy-buttons-{{ block.id }} .cic-bis-switch {
    order: 4;
    grid-column: 2;
  }
  #cic-buy-buttons-{{ block.id }} .cic-bis-consent {
    display: flex;
    align-items: center;
    gap: 0.5em;
    font-size: 0.82em;
    line-height: 1.35;
    color: rgba(var(--color-foreground-rgb, var(--color-foreground)), 0.72);
    cursor: pointer;
  }
  #cic-buy-buttons-{{ block.id }} .cic-bis-consent-input {
    margin: 0;
    flex-shrink: 0;
    accent-color: #006611;
  }

  /* Channel switch link ("Text me instead" / "Email me instead"). Styled as
     a plain text link, not a button — it isn't the primary action.
     !important overrides Horizon's global `button` element defaults (green fill
     + white text + border) which win by specificity otherwise. */
  #cic-buy-buttons-{{ block.id }} .cic-bis-switch {
    justify-self: start;
    padding: 0 !important;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    color: #006611 !important;
    font-size: 0.88em;
    font-weight: 400;
    cursor: pointer;
    text-decoration: none !important;
    box-shadow: none !important;
  }
  #cic-buy-buttons-{{ block.id }} .cic-bis-switch:hover {
    color: #005510 !important;
    background: none !important;
    background-color: transparent !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
  }

  /* SMS regulatory disclaimer. Always visible on the SMS step — TCPA/PECR
     require the consent context to be prominent, not tucked into a tooltip. */
  #cic-buy-buttons-{{ block.id }} .cic-bis-sms-disclaimer {
    margin: 0;
    font-size: 0.76em;
    line-height: 1.4;
    color: rgba(var(--color-foreground-rgb, var(--color-foreground)), 0.6);
  }
  #cic-buy-buttons-{{ block.id }} .cic-bis-sms-disclaimer a {
    color: inherit;
    text-decoration: underline;
  }
  #cic-buy-buttons-{{ block.id }} .cic-bis-form input[type="email"],
  #cic-buy-buttons-{{ block.id }} .cic-bis-form input[type="tel"] {
    flex: 1 1 180px;
    min-width: 0;
    padding: 0.55em 0.75em;
    border: 1px solid #cccccc;
    border-radius: 6px;
    font-size: 0.92em;
    transition: border-color 0.15s, box-shadow 0.15s;
  }
  /* Custom focus ring — the browser default dashed blue outline clashes with
     the buy-box's green palette. Solid brand-green border + soft green glow. */
  #cic-buy-buttons-{{ block.id }} .cic-bis-form input[type="email"]:focus,
  #cic-buy-buttons-{{ block.id }} .cic-bis-form input[type="email"]:focus-visible,
  #cic-buy-buttons-{{ block.id }} .cic-bis-form input[type="tel"]:focus,
  #cic-buy-buttons-{{ block.id }} .cic-bis-form input[type="tel"]:focus-visible {
    outline: none;
    border-color: #006611;
    box-shadow: 0 0 0 3px rgba(0, 102, 17, 0.15);
  }
  /* Suppress focus ring on the country dropdown's search box — it's already
     the primary interaction target when the dropdown is open, so the extra
     ring reads as noise rather than affordance. */
  #cic-buy-buttons-{{ block.id }} .cic-bis-form .iti__search-input:focus,
  #cic-buy-buttons-{{ block.id }} .cic-bis-form .iti__search-input:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
  }
  /* Same treatment for the country-selector flag button when focused. */
  #cic-buy-buttons-{{ block.id }} .cic-bis-form .iti__selected-country:focus,
  #cic-buy-buttons-{{ block.id }} .cic-bis-form .iti__selected-country:focus-visible,
  #cic-buy-buttons-{{ block.id }} .cic-bis-form .iti__country-container button:focus,
  #cic-buy-buttons-{{ block.id }} .cic-bis-form .iti__country-container button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 102, 17, 0.15);
    border-radius: 6px;
  }

  /* intl-tel-input wraps the phone <input> in a .iti div. Once initialised,
     that wrapper becomes the flex child instead of the input, so the layout
     rules need to reach the input through the wrapper. */
  #cic-buy-buttons-{{ block.id }} .cic-bis-form .iti {
    width: 100%;
    min-width: 0;
  }
  #cic-buy-buttons-{{ block.id }} .cic-bis-form .iti input[type="tel"] {
    width: 100%;
  }
  /* Horizon paints all <button> elements with a solid green fill by default.
     intl-tel-input's country-selector is a <button>, so it inherits that fill
     and reads as a big green square next to the input. Reset the visible chrome
     back to something neutral so only the flag + arrow show through. */
  #cic-buy-buttons-{{ block.id }} .cic-bis-form .iti__selected-country,
  #cic-buy-buttons-{{ block.id }} .cic-bis-form .iti__country-container button {
    background: transparent !important;
    background-color: transparent !important;
    color: inherit !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 6px !important;
  }
  /* NOTE: intl-tel-input already ships a hover state on
     `.iti__country-container:hover .iti__selected-country-primary` (the inner
     div, not the outer <button>). Adding another hover rule to the outer
     <button> here would stack a second background on top of that one — two
     tinted greys overlapping = the artefact you'd see on hover. Leave the
     library's own hover as the single source of truth. */
  #cic-buy-buttons-{{ block.id }} .cic-bis-form button {
    flex-shrink: 0;
    padding: 0.55em 1em;
    background: #006611;
    color: #ffffff;
    border: 1px solid #006611;
    border-radius: 6px;
    font-size: 0.92em;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s;
  }
  #cic-buy-buttons-{{ block.id }} .cic-bis-form button:hover:not([disabled]) {
    background: #005510;
  }
  #cic-buy-buttons-{{ block.id }} .cic-bis-form button[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
  }
  #cic-buy-buttons-{{ block.id }} .cic-bis-msg {
    font-size: 0.88em;
    line-height: 1.4;
    margin: 0;
  }
  #cic-buy-buttons-{{ block.id }} .cic-bis-msg--success {
    color: #006611;
  }
  #cic-buy-buttons-{{ block.id }} .cic-bis-msg--error {
    color: #8C111D;
  }

  .cic-app-promo {
    margin-top: 0.8rem;
    padding-top: 0.8rem;
    border-top: 1px solid rgba(var(--color-foreground-rgb, var(--color-foreground)), 0.1);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background-color:#eee;
    padding-bottom: 00.8rem
  }
  .cic-app-promo__heading {
    font-size: 1em;
    color: rgba(var(--color-foreground-rgb, var(--color-foreground)), 0.7);
    margin: 0 0 0.5em;
    font-weight:700;
  }
  .cic-app-promo__badges {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5em;
    width: 100%;
  }
  .cic-app-promo__badge {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .cic-app-promo__badge img {
    max-width: 100%;
    height: auto;
  }

  #cic-preorder-notice-{{ block.id }} {
    background: #f4f4f2;
    border: 1px solid #e2e2de;
    border-radius: 8px;
    padding: 0.9em 1.1em;
    margin-bottom: 0.9rem;
    margin-right: 3rem;
  }
  #cic-preorder-notice-{{ block.id }} .fs-preorder-heading {
    font-size: 1.05em;
    font-weight: 700;
    color: rgb(var(--color-foreground));
    margin: 0 0 0.35em;
  }
  #cic-preorder-notice-{{ block.id }} .fs-preorder-copy {
    font-size: 0.92em;
    line-height: 1.5;
    color: rgba(var(--color-foreground-rgb, var(--color-foreground)), 0.85);
    margin: 0 0 0.7em;
  }
  #cic-preorder-notice-{{ block.id }} .fs-preorder-notify {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    margin-bottom:10px;
  }
  #cic-preorder-notice-{{ block.id }} .fs-preorder-notify input[type="email"] {
    flex: 1 1 220px;
    min-width: 0;
    padding: 0.5em 0.7em;
    border: 1px solid #cccccc;
    border-radius: 6px;
    font-size: 0.92em;
  }
  #cic-preorder-notice-{{ block.id }} .fs-preorder-notify button {
    flex-shrink: 0;
    padding: 0.5em 1em;
    border: 1px solid #006611;
    border-radius: 6px;
    background: #ffffff;
    color: #006611;
    font-size: 0.92em;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s;
  }
  #cic-preorder-notice-{{ block.id }} .fs-preorder-notify button:hover {
    background: #006611;
    color: #ffffff;
  }
  #cic-preorder-notice-{{ block.id }} .fs-preorder-notify-msg {
    font-size: 0.88em;
    margin-top: 0.5em;
    color: #006611;
    display: none;
  }
  #cic-preorder-notice-{{ block.id }} .fs-preorder-notify-error {
    font-size: 0.88em;
    margin-top: 0.5em;
    color: #8C111D;
    display: none;
  }