/** Shopify CDN: Minification failed

Line 57:0 All "@import" rules must come first

**/
/* ============================================================
   ELARAASPERA — Custom CSS Override für Horizon Theme
   Füge diesen Code in: Online Store → Themes → Edit Code
   → assets/ → Neue Datei: elaraaspera-custom.css
   
   Dann in theme.liquid vor </head> einfügen:
   {{ 'elaraaspera-custom.css' | asset_url | stylesheet_tag }}
   ============================================================ */

/* ===== BRAND COLORS & VARIABLES ===== */
:root {
  /* Elaraaspera Brand Colors */
  --ea-sand: #DBD0BF;
  --ea-coral: #E5602B;
  --ea-mauve: #A7747F;
  --ea-olive: #79633F;
  --ea-blue-grey: #A2A8B6;
  --ea-beige: #DFD9CD;
  --ea-dark: #1C1917;
  --ea-white: #FAF8F5;

  /* Override Horizon Theme Colors */
  --color-background: var(--ea-beige);
  --color-foreground: var(--ea-dark);

  /* Transitions */
  --ea-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  --ea-bounce: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ===== GLOBAL BODY ===== */
body {
  background-color: var(--ea-beige) !important;
  color: var(--ea-dark) !important;
  font-family: 'Cormorant Garamond', Georgia, serif;
}

/* ===== GRAIN TEXTURE OVERLAY ===== */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px 200px;
}

/* ===== TYPOGRAPHY - Import fonts ===== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Jost:wght@300;400;500&display=swap');

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em;
  color: var(--ea-olive) !important;
}

p, span, a, li, label, button,
.paragraph {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
}

/* ===== HEADER ===== */
header-component,
.header,
.shopify-section-group-header-group {
  background-color: rgba(219, 208, 191, 0.92) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(121, 99, 63, 0.12) !important;
}

/* Logo Text */
.header__heading-link,
.header__heading {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.8rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  color: var(--ea-dark) !important;
  text-transform: lowercase !important;
}

/* Nav Links */
.header__menu-item,
.header__active-menu-item,
.list-menu__item--link {
  font-family: 'Jost', sans-serif !important;
  font-weight: 400 !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--ea-dark) !important;
  transition: var(--ea-transition) !important;
  position: relative;
}

.header__menu-item::after,
.list-menu__item--link::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--ea-coral);
  transition: width 0.3s ease;
}

.header__menu-item:hover::after,
.list-menu__item--link:hover::after {
  width: 100%;
}

.header__menu-item:hover,
.list-menu__item--link:hover {
  color: var(--ea-coral) !important;
}

/* ===== ANNOUNCEMENT BAR ===== */
.announcement-bar {
  background-color: var(--ea-olive) !important;
  color: var(--ea-beige) !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 300 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

/* ===== BUTTONS ===== */
.button:not(.button-secondary):not(.button-unstyled) {
  background-color: var(--ea-dark) !important;
  color: var(--ea-beige) !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 400 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 1rem 2.5rem !important;
  transition: var(--ea-transition) !important;
  position: relative;
  overflow: hidden;
}

.button:not(.button-secondary):not(.button-unstyled)::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--ea-coral);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0;
}

.button:not(.button-secondary):not(.button-unstyled):hover::before {
  transform: scaleX(1);
}

.button:not(.button-secondary):not(.button-unstyled) * {
  position: relative;
  z-index: 1;
}

/* Secondary Buttons */
.button-secondary {
  background-color: transparent !important;
  color: var(--ea-dark) !important;
  border: 1px solid var(--ea-dark) !important;
  border-radius: 0 !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 400 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 1rem 2.5rem !important;
  transition: var(--ea-transition) !important;
}

.button-secondary:hover {
  background-color: var(--ea-dark) !important;
  color: var(--ea-beige) !important;
  border-color: var(--ea-dark) !important;
}

/* ===== PRODUCT CARDS ===== */
.product-card {
  background-color: transparent !important;
  border: none !important;
}

.product-grid__item {
  border: none !important;
  background: transparent !important;
}

.product-card__image {
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
  overflow: hidden;
}

.product-card:hover .product-card__image img,
.product-card:hover .card-gallery img {
  transform: scale(1.06) !important;
}

/* Product Card Info */
.product-card .h4,
.product-grid__card .h4 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 1.1rem !important;
  color: var(--ea-olive) !important;
  margin-top: 0.75rem !important;
}

/* Product Price */
.price,
product-price {
  font-family: 'Jost', sans-serif !important;
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  color: var(--ea-coral) !important;
}

.compare-at-price {
  color: var(--ea-mauve) !important;
}

/* ===== PRODUCT PAGE ===== */
.product__title,
.product-details h1 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(2rem, 4vw, 3.5rem) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: var(--ea-olive) !important;
  letter-spacing: -0.02em !important;
}

/* Product Price on Page */
.product__price,
.product-details product-price {
  font-family: 'Jost', sans-serif !important;
  font-size: 1.6rem !important;
  font-weight: 300 !important;
  color: var(--ea-coral) !important;
}

/* Product Description */
.product__description,
.product-details .rte {
  font-family: 'Jost', sans-serif !important;
  font-weight: 300 !important;
  font-size: 0.95rem !important;
  line-height: 1.8 !important;
  color: var(--ea-dark) !important;
}

/* Variant Buttons */
.variant-option__button-label {
  border-color: rgba(121, 99, 63, 0.25) !important;
  border-radius: 0 !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  color: var(--ea-dark) !important;
}

.variant-option__button-label:has(:checked) {
  border-color: var(--ea-dark) !important;
  background-color: var(--ea-dark) !important;
  color: var(--ea-beige) !important;
}

/* ===== COLLECTION PAGE ===== */
.collection-hero__title,
.collection__title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 400 !important;
  font-size: clamp(2.5rem, 5vw, 5rem) !important;
  color: var(--ea-olive) !important;
}

/* ===== HERO SECTION ===== */
.hero__text-wrapper h1,
.banner__heading,
.hero-section h1 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 300 !important;
  font-size: clamp(3rem, 7vw, 7rem) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.0 !important;
  color: var(--ea-white) !important;
}

.banner__subheading,
.hero__subtitle {
  font-family: 'Jost', sans-serif !important;
  font-weight: 300 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-size: 0.85rem !important;
}

/* ===== FOOTER ===== */
.footer,
.shopify-section-group-footer-group {
  background-color: var(--ea-olive) !important;
  color: var(--ea-beige) !important;
  border-top: none !important;
}

.footer h3,
.footer h4,
.footer .h3,
.footer .h4 {
  color: var(--ea-beige) !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.05em !important;
}

.footer a,
.footer__list-item a {
  color: rgba(223, 217, 205, 0.7) !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 300 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.05em !important;
  transition: color 0.3s ease !important;
}

.footer a:hover {
  color: var(--ea-coral) !important;
}

/* Footer Newsletter */
.footer .field__input {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(223, 217, 205, 0.25) !important;
  color: var(--ea-beige) !important;
  border-radius: 0 !important;
  font-family: 'Jost', sans-serif !important;
}

.footer .field__input::placeholder {
  color: rgba(223, 217, 205, 0.5) !important;
}

.footer .button {
  background-color: var(--ea-coral) !important;
  border-radius: 0 !important;
}

/* ===== CART ===== */
.cart__title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 400 !important;
  color: var(--ea-olive) !important;
}

.cart-items {
  border-top: 1px solid rgba(121, 99, 63, 0.15) !important;
}

.cart-item__name {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 400 !important;
  color: var(--ea-olive) !important;
}

/* Cart Bubble */
.cart-bubble__background {
  background-color: var(--ea-coral) !important;
}

/* ===== BADGES ===== */
.badge,
.product-badges .badge {
  background-color: var(--ea-coral) !important;
  color: var(--ea-white) !important;
  border-radius: 0 !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 400 !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 0.3rem 0.7rem !important;
}

/* ===== INPUTS & FORMS ===== */
.field__input,
input:not([type='checkbox'], [type='radio']),
textarea,
select {
  border-radius: 0 !important;
  border-color: rgba(121, 99, 63, 0.25) !important;
  background-color: var(--ea-white) !important;
  font-family: 'Jost', sans-serif !important;
  color: var(--ea-dark) !important;
}

.field__input:focus,
input:focus {
  border-color: var(--ea-coral) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(229, 96, 43, 0.15) !important;
}

/* ===== SECTION TITLES ===== */
.section-header,
.section-header__title,
.featured-collection__title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 400 !important;
  color: var(--ea-olive) !important;
}

/* ===== SCROLL ANIMATIONS ===== */
@keyframes ea-fadeUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.product-card,
.collection-card,
.resource-card {
  animation: ea-fadeUp 0.6s ease both;
}

.product-grid__item:nth-child(2) .product-card { animation-delay: 0.1s; }
.product-grid__item:nth-child(3) .product-card { animation-delay: 0.2s; }
.product-grid__item:nth-child(4) .product-card { animation-delay: 0.3s; }
.product-grid__item:nth-child(5) .product-card { animation-delay: 0.4s; }
.product-grid__item:nth-child(6) .product-card { animation-delay: 0.5s; }

/* ===== QUANTITY SELECTOR ===== */
.quantity-selector {
  border-radius: 0 !important;
  border-color: rgba(121, 99, 63, 0.25) !important;
}

/* ===== PREDICTIVE SEARCH ===== */
.predictive-search {
  background-color: var(--ea-beige) !important;
  border: 1px solid rgba(121, 99, 63, 0.15) !important;
  border-radius: 0 !important;
}

/* ===== MOBILE RESPONSIVE ===== */
@media screen and (max-width: 749px) {
  .header__heading-link {
    font-size: 1.4rem !important;
  }

  .product__title {
    font-size: 2rem !important;
  }
}

/* ===== HOVER CURSOR ===== */
a:hover,
button:hover,
.product-card:hover {
  cursor: pointer;
}

/* ===== SLIDESHOW DOTS ===== */
.slideshow-controls__dot {
  background-color: rgba(121, 99, 63, 0.3) !important;
  border-radius: 0 !important;
  width: 20px !important;
  height: 2px !important;
  transition: var(--ea-transition) !important;
}

.slideshow-controls__dot[aria-selected='true'] {
  background-color: var(--ea-coral) !important;
  width: 40px !important;
}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar {
  width: 6px !important;
}

::-webkit-scrollbar-track {
  background: var(--ea-beige) !important;
}

::-webkit-scrollbar-thumb {
  background: var(--ea-mauve) !important;
  border-radius: 0 !important;
  border: none !important;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--ea-coral) !important;
}

/* ===== SELECTION COLOR ===== */
::selection {
  background-color: var(--ea-coral) !important;
  color: var(--ea-white) !important;
}/* Hero Overlay heller machen */
.hero__media::after,
.banner__media::after,
.section-hero .media::after,
[class*="hero"] .media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.15) !important;
}