/** Shopify CDN: Minification failed

Line 163:12 Expected identifier but found whitespace
Line 163:13 Unexpected "1.1rem"

**/
/* Caasa Lino — design-system overrides for Dawn.
   Load AFTER base.css in layout/theme.liquid:
   {{ 'caasa-lino.css' | asset_url | stylesheet_tag }}
   Dawn loads its component-*.css and section-*.css files later, from inside
   sections, so every selector here is prefixed with :root to outrank them
   regardless of load order. Keep the prefix on anything you add.
   Tokens mirror the design system (tokens/*.css). Dawn's own variables are
   redefined where they exist so every Dawn component inherits the change. */

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Hanken+Grotesk:wght@300;400;500;600&display=swap");

:root {
  /* Design-system tokens */
  --cl-bone-50: #fcfaf6; --cl-bone-100: #f6f2eb; --cl-bone-200: #efe9e0;
  --cl-grey-200: #dcd6cb; --cl-grey-300: #c6bfb4; --cl-grey-400: #a29b90; --cl-grey-500: #7d776d; --cl-grey-600: #625d55;
  --cl-ink: #14213d; --cl-blue-700: #2f5285; --cl-blue-600: #3c5f91; --cl-blue-200: #c6d4e8; --cl-blue-100: #e3e9f3;
  --cl-alert: #8c3b2f;
  --cl-tracking-label: 0.18em; --cl-tracking-wide: 0.26em;
  --cl-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  /* Dawn variables, retuned */
  --font-heading-family: "Cormorant Garamond", "Times New Roman", serif;
  --font-heading-style: normal;
  --font-heading-weight: 300;
  --font-body-family: "Hanken Grotesk", -apple-system, "Segoe UI", sans-serif;
  --font-body-style: normal;
  --font-body-weight: 300;
  --font-body-weight-bold: 500;
  --duration-short: 200ms;
  --duration-default: 280ms;
  --duration-long: 400ms;
  --duration-extra-long: 700ms;
  --duration-announcement-bar: 400ms;
  --ease-out-slow: var(--cl-ease);
  --color-link: 20, 33, 61;
}

/* ---------- Type ---------- */
body { font-weight: 300; line-height: 1.7; -webkit-font-smoothing: antialiased; }
:root h1, :root h2, :root h3, :root h4, :root h5, :root .h0, :root .h1, :root .h2, :root .h3, :root .h4, :root .h5 { font-weight: 300; letter-spacing: -0.01em; line-height: 1.1; }
:root .h0, :root h1, :root .h1 { letter-spacing: -0.015em; line-height: 1.04; }
:root h3, :root .h3, :root h4, :root .h4 { letter-spacing: 0; line-height: 1.25; }
:root .rte:not(.inline-richtext), :root .product__description, :root .article-template__content { font-size: 1.6rem; line-height: 1.7; max-width: 66ch; }
:root .rte h2, :root .rte h3 { margin-top: 4rem; }
:root .caption-with-letter-spacing, :root .caption-with-letter-spacing--medium, :root .caption-with-letter-spacing--large,
:root .product__text.caption-with-letter-spacing {
  font-family: var(--font-body-family); font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; color: var(--cl-grey-600);
}
:root .caption-large, :root .form__label, :root .facet-checkbox, :root .footer-block__heading, :root .cart__note label, :root .customer label {
  font-size: 1.3rem;
}
:root .price { font-family: var(--font-body-family); font-size: 1.4rem; font-weight: 300; letter-spacing: 0.04em; }
:root .price--large { font-size: 1.6rem; letter-spacing: 0.02em; }
:root .price .price-item--regular, :root .price .price-item--sale { color: rgb(var(--color-foreground)); }
:root .price__badge-sale, :root .price__badge-sold-out { display: none; }

/* Links */
:root .link, :root .underlined-link, :root .rte a, :root .customer a { text-underline-offset: 0.4rem; text-decoration-thickness: 0.1rem; text-decoration-color: var(--cl-grey-300); transition: color var(--duration-short) var(--cl-ease), text-decoration-color var(--duration-short) var(--cl-ease); }
:root .link:hover, :root .underlined-link:hover, :root .rte a:hover, :root .customer a:hover { color: var(--cl-blue-700); text-decoration-color: var(--cl-blue-700); }
:root .collection__view-all .link, :root .blog__view-all .link, :root .collection-list-view-all .link { font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; }

/* Focus — visible, quiet */
:root :focus-visible, :root .focused, :root .field__input:focus-visible, :root .select__select:focus-visible, :root .button:focus-visible, :root .quantity__input:focus-visible,
:root .localization-form__select:focus-visible, :root .header__icon:focus-visible, :root .link:focus-visible {
  outline: 0.1rem solid var(--cl-blue-600) !important; outline-offset: 0.3rem !important; box-shadow: none !important;
}

/* ---------- Buttons ---------- */
:root .button, :root .shopify-challenge__button, :root .customer button, :root button.shopify-payment-button__button--unbranded {
  font-family: var(--font-body-family); font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; line-height: 1;
  min-height: 4.4rem; min-width: auto; padding: 0 3rem; border-radius: 0;
  transition: background-color var(--duration-default) var(--cl-ease), color var(--duration-default) var(--cl-ease);
}
:root .button--primary:hover, :root .product-form__submit:hover, :root .cart__checkout-button:hover { background: var(--cl-blue-700); }
:root .button--primary:hover::after, :root .product-form__submit:hover::after, :root .cart__checkout-button:hover::after { box-shadow: 0 0 0 0.1rem var(--cl-blue-700); }
:root .button--secondary { color: rgb(var(--color-foreground)); }
:root .button--secondary:hover { background: rgb(var(--color-foreground)); color: rgb(var(--color-background)); }
:root .button--tertiary { font-size: 1.1rem; min-height: 3.6rem; padding: 0 2rem; }
:root .button:disabled, :root .button[aria-disabled="true"] { opacity: 0.4; }
:root .button--full-width { padding: 0 2rem; }
:root .shopify-payment-button__button { display: none !important; } /* one solid action per view */
:root .shopify-payment-button__more-options { display: none !important; }

/* ---------- Fields: underline, not box ---------- */
:root .field, :root .select, :root .customer .field, :root .customer select, :root .localization-form__select { border-radius: 0; }
:root .field::after, :root .select::after, :root .customer .field::after, :root .customer select::after, :root .localization-form__select::after,
:root .field:hover.field::after, :root .select:hover.select::after, :root .customer .field:hover.field::after, :root .customer select:hover.select::after {
  box-shadow: none; border: 0; border-bottom: 0.1rem solid var(--cl-grey-300); border-radius: 0; transition: border-color var(--duration-default) var(--cl-ease);
}
:root .field:has(.field__input:focus)::after, :root .select:has(.select__select:focus)::after, :root .customer .field:has(input:focus)::after { border-bottom-color: rgb(var(--color-foreground)); }
:root .field__input, :root .select__select, :root .customer .field input, :root .customer select, :root .localization-form__select .localization-selector {
  background: transparent; padding-left: 0; padding-right: 0; border-radius: 0; box-shadow: none; font-weight: 300; font-size: 1.6rem;
}
:root .field__label, :root .customer .field label { left: 0; font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; color: var(--cl-grey-600); }
:root .field__input:focus ~ .field__label, :root .field__input:not(:placeholder-shown) ~ .field__label, :root .field__input:-webkit-autofill ~ .field__label,
:root .customer .field input:focus ~ label, :root .customer .field input:not(:placeholder-shown) ~ label { font-size: 1rem; letter-spacing: var(--cl-tracking-label); left: 0; }
:root .select .icon-caret, :root .customer select + .icon-caret { right: 0; }
:root .form__message { font-size: 1.3rem; }
:root .form__message:has(.icon-error), :root .errors { color: var(--cl-alert); }
:root .field__button { right: 0; }

/* Newsletter */
:root .newsletter-form__field-wrapper .field { max-width: 40rem; }
:root .newsletter__subheading, :root .newsletter__wrapper .rte { font-size: 1.3rem; color: var(--cl-grey-500); }

/* ---------- Header ---------- */
:root .header { padding-top: 1.6rem; padding-bottom: 1.6rem; }
:root .header__heading-logo-wrapper { width: auto; max-width: none; }
/* Header.jsx renders the wordmark at 36px tall (about 75px wide); settings.logo_width stays 150 so the srcset carries a 2x file */
:root .header__heading-logo { width: 7.5rem; max-width: none; height: auto; }
:root .header__menu-item { font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; padding: 1.2rem 1.6rem; }
:root .header__menu-item span { transition: color var(--duration-default) var(--cl-ease); }
:root .header__menu-item:hover span, :root .header__menu-item[aria-expanded="true"] span { text-decoration: underline; text-underline-offset: 0.7rem; text-decoration-thickness: 0.1rem; color: rgb(var(--color-foreground)); }
:root .header__active-menu-item { text-decoration-thickness: 0.1rem; text-underline-offset: 0.7rem; }
:root .header__icon .icon { width: 1.8rem; height: 1.8rem; stroke-width: 1.25; }
:root .header__icon:hover .icon { transform: none; color: var(--cl-blue-700); }
:root .cart-count-bubble { position: absolute; top: 0.4rem; right: -0.2rem; width: auto; height: auto; min-width: 0; background: transparent; color: var(--cl-grey-600); font-size: 0.9rem; letter-spacing: 0.04em; border-radius: 0; }
:root .cart-count-bubble span { font-size: 0.9rem; }
:root .header__icon--menu[aria-expanded="true"]::before { display: none; }

/* Mega menu — reads like a contents page */
:root .mega-menu__content { padding: 4.8rem 0 6.4rem; border-bottom: 0.1rem solid var(--cl-grey-200); box-shadow: 0 18px 40px rgba(20, 33, 61, 0.06); }
:root .mega-menu__list { column-gap: 6.4rem; }
:root .mega-menu__link { font-size: 1.3rem; font-weight: 300; color: rgb(var(--color-foreground)); padding: 0.4rem 0; text-decoration: none; }
:root .mega-menu__link--level-2 { font-family: var(--font-heading-family); font-size: 2.4rem; font-weight: 300; margin-bottom: 1.6rem; text-transform: none; letter-spacing: 0; }
:root .mega-menu__link:hover, :root .mega-menu__link--active { color: var(--cl-blue-700); text-decoration: none; }

/* Announcement bar */
:root .announcement-bar__message, :root .announcement-bar__link { font-family: var(--font-body-family); font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; text-decoration: none; padding: 1rem 0; }
:root .utility-bar { border-bottom: 0; }

/* ---------- Product cards — no card ---------- */
:root .card, :root .card__inner, :root .card__media, :root .card .media { border-radius: 0; }
:root .card--standard .card__inner::after, :root .card--card::after { box-shadow: none; }
:root .card__badge, :root .badge { display: none !important; }
:root .card__information { padding: 2rem 0 0; }
:root .card__heading { font-family: var(--font-heading-family); font-size: 2.2rem; font-weight: 300; line-height: 1.25; letter-spacing: 0; }
:root .card__heading a { transition: color var(--duration-default) var(--cl-ease); }
:root .card-wrapper:hover .card__heading a { color: var(--cl-blue-700); }
:root .card--standard .card__inner .card__media img { transition: transform var(--duration-extra-long) var(--cl-ease); }
:root .card-wrapper:hover .card--standard .card__inner .card__media img { transform: scale(1.03); }
:root .card-information { margin-top: 0.6rem; }
:root .card-information .price { font-size: 1.3rem; }
:root .card__information .caption-with-letter-spacing { margin-top: 0.4rem; }
:root .quick-add { display: none; }

/* Article cards */
:root .blog__posts .article-card .card__information, :root .blog-articles .article-card .card__information { padding-left: 0; padding-right: 0; }
:root .article-card .card__heading { font-size: 2.2rem; font-weight: 300; }
:root .article-card__info, :root .article-card__footer { font-size: 1.3rem; color: var(--cl-grey-500); }

/* ---------- Product page ---------- */
:root .product__title h1, :root .product__title .h1 { font-size: 4rem; font-weight: 300; line-height: 1.08; }
:root .product__text { margin-bottom: 1.2rem; }
:root .product__info-container > * + * { margin-top: 2.4rem; }
:root .product-form__input .form__label { font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; color: var(--cl-grey-600); }
  font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; padding: 0.9rem 1.6rem; border-radius: 0;
  border: 0.1rem solid var(--cl-grey-200); background: transparent; color: rgb(var(--color-foreground)); transition: border-color var(--duration-short) var(--cl-ease);
}
:root .quantity { border-radius: 0; }
:root .quantity::after { box-shadow: 0 0 0 0.1rem var(--cl-grey-300); border-radius: 0; }
:root .quantity__input { font-size: 1.3rem; font-weight: 300; letter-spacing: 0.04em; }
:root .quantity__button .svg-wrapper svg { width: 1.2rem; }
:root .product-form__buttons { margin-top: 3.2rem; }
:root .product__description { margin-top: 3.2rem; color: var(--cl-grey-600); }
:root .product__accordion .accordion__title, :root .accordion__title { font-family: var(--font-body-family); font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; }
:root .accordion summary { padding: 2.4rem 0; }
:root .accordion .summary__title .svg-wrapper { display: none; }
:root .accordion .summary__title + .icon-caret { height: 0.6rem; color: var(--cl-grey-500); }
:root .accordion__content, :root .product__accordion .accordion__content { padding: 0 0 3.2rem; color: var(--cl-grey-600); max-width: 66ch; }
:root .product__accordion { border-top: 0.1rem solid var(--cl-grey-200); border-bottom: 0.1rem solid var(--cl-grey-200); }
:root .product__accordion + .product__accordion { border-top: 0; }
:root .share-button { display: none; }
:root .thumbnail[aria-current="true"] { box-shadow: none; outline: 0.1rem solid rgb(var(--color-foreground)); outline-offset: 0.2rem; }
:root .thumbnail:not([aria-current="true"]) { opacity: 0.45; transition: opacity var(--duration-default) var(--cl-ease); }
:root .thumbnail:hover { opacity: 1; }
:root .thumbnail, :root .product__media, :root .product-media-container, :root .product__media-item { border-radius: 0; }
:root .product__media-icon, :root .product__modal-opener .product__media-toggle { display: none; }
:root .product-media-container::after { box-shadow: none; }

/* Pickup, inventory */
:root .product__inventory, :root .pickup-availability-preview { font-size: 1.3rem; color: var(--cl-grey-500); }
:root .pickup-availability-preview .icon-tick, :root .product__inventory .icon { display: none; }

/* ---------- Collection ---------- */
:root .collection-hero__title { font-size: 6.8rem; font-weight: 300; line-height: 1.02; letter-spacing: -0.015em; }
:root .collection-hero__description, :root .collection-hero__title + .collection-hero__description { max-width: 66ch; font-size: 1.6rem; color: var(--cl-grey-600); }
:root .collection .title { font-size: 4rem; }
:root .product-grid { column-gap: 2.4rem; row-gap: 9.6rem; }
:root .facets-container { border-top: 0.1rem solid var(--cl-grey-200); border-bottom: 0.1rem solid var(--cl-grey-200); padding: 0.8rem 0; }
:root .facets__wrapper, :root .facet-filters { border: 0; }
:root .facets__summary, :root .facet-filters__label, :root .facets__reset, :root .mobile-facets__open, :root .mobile-facets__heading { font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; color: rgb(var(--color-foreground)); }
:root .facets__summary:hover .facets__summary-label, :root .facets__summary[aria-expanded="true"] .facets__summary-label { text-decoration: none; color: var(--cl-blue-700); }
:root .facets__disclosure-vertical .facets__summary { padding: 1.6rem 0; }
:root .facets__display, :root .facets__display-vertical { border: 0.1rem solid var(--cl-grey-200); border-radius: 0; box-shadow: none; }
:root .facet-checkbox { font-size: 1.3rem; padding: 0.6rem 0; }
:root .facet-checkbox > svg { border: 0.1rem solid var(--cl-grey-300); border-radius: 0; width: 1.4rem; height: 1.4rem; }
:root .facet-checkbox > input[type="checkbox"]:checked ~ svg { background: rgb(var(--color-foreground)); border-color: rgb(var(--color-foreground)); }
:root .facet-checkbox .icon-checkmark { color: rgb(var(--color-background)); }
:root .facet-checkbox__text-label + span { color: var(--cl-grey-500); }
:root .active-facets__button-inner { border: 0; border-radius: 0; padding: 0; font-size: 1.3rem; box-shadow: none; text-decoration: none; color: var(--cl-grey-600); }
:root .active-facets__button-inner:hover, :root .active-facets__button:hover .active-facets__button-inner, :root .active-facets__button--light .active-facets__button-inner { box-shadow: none; color: var(--cl-blue-700); }
:root .active-facets__button-remove, :root .active-facets__button-inner .svg-wrapper svg { width: 1.1rem; height: 1.1rem; color: var(--cl-grey-400); }
:root .active-facets__button-remove { text-decoration: none; font-size: 1.3rem; color: var(--cl-grey-500); border-bottom: 0.1rem solid var(--cl-grey-200); }
:root .product-count__text { font-size: 1.3rem; color: var(--cl-grey-500); }
:root .facet-filters__sort { font-size: 1.6rem; font-weight: 300; }
:root .pagination__item { font-size: 1.3rem; }
:root .pagination__item--current::after { height: 0.1rem; }

/* ---------- Cart drawer ---------- */
:root .cart-drawer { background: rgba(20, 33, 61, 0.18); }
:root .drawer__inner { width: 46rem; border-left: 0; box-shadow: -1px 0 40px rgba(20, 33, 61, 0.07); padding: 0 4.8rem; }
:root .drawer__header { padding: 3.2rem 0 2.4rem; border-bottom: 0.1rem solid var(--cl-grey-200); }
:root .drawer__heading { font-family: var(--font-body-family); font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-wide); text-transform: uppercase; }
:root .drawer__close { top: 2.4rem; right: 4.2rem; }
:root .cart-drawer .cart-items thead, :root .cart-drawer .cart-item__totals { display: none; }
:root .cart-drawer .cart-item { padding: 3.2rem 0; border-bottom: 0.1rem solid var(--cl-grey-200); }
:root .cart-drawer .cart-item__name { font-family: var(--font-heading-family); font-size: 2.2rem; font-weight: 300; text-decoration: none; }
:root .cart-drawer .product-option, :root .cart-drawer .cart-item__discounted-prices { font-size: 1.3rem; color: var(--cl-grey-500); }
:root .cart-drawer .cart-item__image { border-radius: 0; }
:root .cart-drawer .quantity { width: 11rem; min-height: 4.4rem; }
:root .cart-drawer cart-remove-button .svg-wrapper { display: none; }
:root .cart-drawer cart-remove-button .button::before { content: "Remove"; position: static; z-index: auto; box-shadow: none; font-size: 1.1rem; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; color: var(--cl-grey-500); }
:root .cart-drawer cart-remove-button .button { min-height: auto; min-width: auto; padding: 0; background: transparent; }
:root .cart-drawer cart-remove-button .button::after { display: none; }
:root .cart-drawer__footer { border-top: 0.1rem solid var(--cl-grey-200); padding: 2.4rem 0 3.2rem; }
:root .cart-drawer__footer > * + * { margin-top: 1.6rem; }
:root .totals__total, :root .totals__subtotal { font-family: var(--font-body-family); font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; color: var(--cl-grey-600); }
:root .totals__total-value, :root .totals__subtotal-value { font-family: var(--font-heading-family); font-size: 2.4rem; font-weight: 300; }
:root .tax-note, :root .cart-drawer .tax-note { font-size: 1.3rem; color: var(--cl-grey-500); margin: 0.8rem 0 2rem; }
:root .cart-drawer .cart__dynamic-checkout-buttons { display: none; }
:root .drawer__inner-empty .cart__empty-text { font-family: var(--font-body-family); font-size: 1.6rem; font-weight: 300; color: var(--cl-grey-500); }

/* Cart page */
:root .cart-items th { font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; color: var(--cl-grey-600); border-bottom: 0.1rem solid var(--cl-grey-200); }
:root .cart-item { border-bottom: 0.1rem solid var(--cl-grey-200); }
:root .cart-item__name { font-family: var(--font-heading-family); font-size: 2.2rem; font-weight: 300; text-decoration: none; }

/* ---------- Sections ---------- */
/* Dawn caps section padding at 100px; the system wants 128. Top up on the homepage. */
@media screen and (min-width: 750px) {
  :root .template-index .shopify-section + .shopify-section [class*="section-template--"][class*="-padding"] { padding-top: 12.8rem; }
}
:root .section-header, :root .title-wrapper, :root .title-wrapper-with-link { margin-bottom: 4.8rem; }
:root .title-wrapper-with-link .title { font-size: 4rem; }
:root .rich-text__heading { max-width: 24ch; line-height: 1.22; margin-left: auto; margin-right: auto; }
:root .rich-text__text, :root .image-with-text__text { color: var(--cl-grey-600); max-width: 66ch; }
:root .image-with-text__heading { font-size: 4rem; }
:root .image-with-text__heading.h0, :root .image-with-text__heading.hxl, :root .image-with-text__heading.hxxl { max-width: 12ch; }
@media screen and (min-width: 990px) {
  :root .image-with-text__heading.h0, :root .image-with-text__heading.hxl, :root .image-with-text__heading.hxxl { font-size: 6.8rem; line-height: 1.02; letter-spacing: -0.015em; }
}
:root .image-with-text__media, :root .image-with-text__content, :root .banner__media, :root .banner__box, :root .media { border-radius: 0; }
:root .banner__box { padding: 6.4rem; }
:root .banner--desktop-transparent .banner__box, :root .banner__box.color-scheme-1 { background: rgb(var(--color-background)); }
:root .image-with-text__content::after, :root .banner__box::after { box-shadow: none; }
:root .multicolumn-card__info h3 { font-size: 2.2rem; font-weight: 300; }
:root .multicolumn-card { border-radius: 0; }
:root .multicolumn-card__info .rte { font-size: 1.3rem; color: var(--cl-grey-600); }
:root .slider-button, :root .slideshow__controls, :root .slider-counter, :root .slideshow__autoplay { display: none !important; }
:root .collage-card, :root .collage-card__link { border-radius: 0; }
:root .collage-card::after { box-shadow: none; }

/* Article */
:root .article-template__title { font-size: 6.8rem; line-height: 1.02; letter-spacing: -0.015em; }
:root .article-template__link { font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; }
:root .article-template__hero-container .media, :root .article-template__hero-medium { border-radius: 0; }
:root .article-template__content p:first-of-type { font-size: 2rem; line-height: 1.6; color: var(--cl-grey-600); }
:root .article-template__content blockquote { border: 0; padding: 0; margin: 4.8rem 0; font-family: var(--font-heading-family); font-size: 4rem; font-style: italic; line-height: 1.22; max-width: 24ch; color: rgb(var(--color-foreground)); }

/* ---------- Footer ---------- */
:root .footer, :root .footer:not(.color-scheme-1) { border-top: 0.1rem solid var(--cl-grey-200); border-bottom: 0.6rem solid var(--cl-ink); }
:root .footer__content-top { padding-top: 9.6rem; padding-bottom: 6.4rem; }
:root .footer-block__heading { font-family: var(--font-body-family); font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; color: var(--cl-grey-500); margin-bottom: 2.4rem; }
:root .footer-block__details-content .list-menu__item--link { font-size: 1.3rem; color: var(--cl-grey-600); padding: 0.6rem 0; }
:root .footer-block__details-content .list-menu__item--link:hover { color: var(--cl-blue-700); text-decoration: none; }
:root .footer-block__newsletter .footer-block__heading { color: var(--cl-grey-600); }
:root .footer__content-bottom { border-top: 0.1rem solid var(--cl-grey-200); }
:root .footer__copyright, :root .policies li a, :root .copyright__content, :root .copyright__content a { font-size: 1.3rem; color: var(--cl-grey-500); }
:root .footer__list-social, :root .list-payment { display: none !important; }
:root .footer .localization-form__select { font-size: 1.3rem; }

/* ---------- Hairline rules & odds ---------- */
:root hr { border: 0; height: 0.1rem; background: var(--cl-grey-200); }
:root .loading__spinner .spinner { display: none; }
:root .scroll-trigger.animate--slide-in, :root .scroll-trigger.animate--fade-in { animation: none; opacity: 1; transform: none; }
:root .product__media-wrapper .slider-mobile-gutter .slider-buttons { display: none; }
::selection { background: var(--cl-blue-200); color: var(--cl-ink); }

/* ---------- Reference alignment pass ---------- */
/* Page margins: 64px, 96px on editorial pages (tokens/layout.css) */
@media screen and (min-width: 990px) {
  :root .page-width, :root .header.page-width { padding-left: 6.4rem; padding-right: 6.4rem; }
  :root .template-article .page-width:not(.header) { padding-left: 9.6rem; padding-right: 9.6rem; }
}

/* Header: one row. The design has no carets on nav items. */
:root .header__menu-item .icon-caret, :root .header__menu-item .svg-wrapper { display: none; }
:root .header__menu-item { padding: 1.2rem 0.9rem; }
:root .header__inline-menu { margin-left: -0.9rem; }
:root .header--middle-center:not(.drawer-menu) { column-gap: 3.2rem; }
/* Cart bag: the SVG only fills the middle of its viewBox, so it needs Dawn's full box, not the 18px used by search and account */
:root .header__icon--cart .icon { width: 4.4rem; height: 4.4rem; }

/* Featured collection and blog: eyebrow above the title, "view all" on the title row, right */
:root .collection__title.title-wrapper { display: flex; flex-direction: column; }
:root .collection__title .collection__description { order: -1; margin: 0 0 1.2rem; }
:root .collection__title .collection__description p,
:root .collection__title .collection__description.uppercase { font-family: var(--font-body-family); font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; color: var(--cl-grey-600); line-height: 1.2; }
:root .collection__title .collection__description p { margin: 0; }
@media screen and (min-width: 990px) {
  :root .collection:has(> .collection__view-all), :root .blog:has(> .blog__view-all) { display: grid; grid-template-columns: 1fr auto; align-items: end; max-width: var(--page-width); margin: 0 auto; }
  :root .collection > .collection__title, :root .blog > .title-wrapper-with-link { grid-column: 1; grid-row: 1; }
  :root .collection > .collection__view-all, :root .blog > .blog__view-all { grid-column: 2; grid-row: 1; margin: 0 0 4.8rem; padding-right: 6.4rem; }
  :root .collection > slider-component, :root .collection > .product-grid, :root .blog > slider-component, :root .blog > .blog__posts { grid-column: 1 / -1; }
  :root .collection__view-all .link, :root .blog__view-all .link { text-decoration: none; border-bottom: 0.1rem solid var(--cl-grey-200); padding-bottom: 0.3rem; }
  :root .collection__view-all .link:hover, :root .blog__view-all .link:hover { border-color: var(--cl-blue-700); }
}

/* Ink quote band: inverted monogram above the quote, caption in pale blue */
:root .rich-text.color-scheme-4 .rich-text__blocks::before { content: ""; display: block; width: 3.6rem; height: 4rem; margin: 0 auto 3.2rem; background: url("caasa-lino-monogram-inverse.png") center / contain no-repeat; }
:root .rich-text.color-scheme-4 .rich-text__caption { color: var(--cl-blue-200); margin-top: 2.4rem; }

/* Collection page: eyebrow, then title left with the description right */
:root .collection-hero__text-wrapper::before { content: "Collection"; display: block; grid-column: 1 / -1; font-size: 1.1rem; font-weight: 500; letter-spacing: var(--cl-tracking-label); text-transform: uppercase; color: var(--cl-grey-600); margin-bottom: 1.6rem; }
@media screen and (min-width: 990px) {
  :root .collection-hero__text-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 2.4rem; align-items: start; }
  :root .collection-hero__title { grid-column: 1; margin: 0; }
  :root .collection-hero__description, :root .collection-hero__title + .collection-hero__description { grid-column: 2; margin: 1.2rem 0 0; max-width: 46ch; justify-self: end; }
}

/* Product page: thumbnails in a column on the left; quantity and add-to-cart on one row */
@media screen and (min-width: 990px) {
  :root media-gallery { display: grid; grid-template-columns: 8rem 1fr; column-gap: 1.6rem; align-items: start; }
  :root media-gallery > slider-component:first-of-type { grid-column: 2; grid-row: 1; }
  :root media-gallery > .thumbnail-slider { grid-column: 1; grid-row: 1; display: block; }
  :root media-gallery > .thumbnail-slider .thumbnail-list.slider--tablet-up { display: flex; flex-direction: column; flex-wrap: nowrap; gap: 1rem; padding: 0; overflow: visible; }
  :root media-gallery > .thumbnail-slider .thumbnail-list.slider--tablet-up .thumbnail-list__item.slider__slide { width: 100%; }
  :root media-gallery > .thumbnail-slider .slider-button { display: none; }
  :root .product__info-container { display: grid; grid-template-columns: max-content 1fr; column-gap: 1.6rem; row-gap: 2.4rem; align-items: start; }
  :root .product__info-container > * { grid-column: 1 / -1; margin-top: 0; }
  :root .product__info-container > .product-form__quantity { grid-column: 1; margin: 0; }
  :root .product__info-container > div:has(> product-form) { grid-column: 2; }
  :root .product__info-container > div:has(> product-form) > product-form { margin: 0; }
  :root .product__info-container > div:has(> product-form) .product-form__buttons { margin-top: 0; }
  :root .product__info-container > .product-form__quantity .quantity__label { display: none; }
  :root .product__info-container > .product-form__quantity .quantity { height: 4.4rem; min-height: 4.4rem; }
  :root .product__info-container > div:has(> product-form) .product-form__submit { margin-bottom: 0; }
}

/* Page titles at the 40px title size; the contact page keeps only the form's own heading */
:root .main-page-title { font-size: 4rem; }
:root .template-page-contact .main-page-title { display: none; }

/* Mobile header: Dawn sizes the centred logo cell to its content, and a 100%-wide wrapper inside an auto cell collapses to a sliver. Give the mark a fixed width. */
@media screen and (max-width: 989px) {
  :root .header { padding-top: 1.2rem; padding-bottom: 1.2rem; }
}
