@import url('https://fonts.googleapis.com/css2?family=Cormorant:wght@400;500;600&family=Montserrat:wght@300;400;500;600&display=swap');

:root {
  --serif: "Cormorant", Georgia, serif;
  --sans: "Montserrat", Arial, sans-serif;
  --ink: #1d1a17;
  --muted: #635d56;
  --paper: #fbfaf6;
  --cream: #f0ebe2;
  --line: #d5cec3;
  --gold: #8b642f;
}

body { font-family: var(--sans); font-weight: 400; letter-spacing: .005em; }
.site-header { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(14px); background: rgba(251,250,246,.94); }
.admin-bar .site-header { top: 32px; }
.brand { font-family: var(--serif); font-weight: 500; }
h1, h2, h3, .entry-title, .woocommerce div.product .product_title { font-family: var(--serif); }

.elinique-skip-link { position: fixed; left: 14px; top: -80px; z-index: 99999; background: var(--ink); color: white; padding: 12px 16px; }
.elinique-skip-link:focus { top: 14px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #c18b42; outline-offset: 3px; }
.main-nav a, .header-tools a { min-height: 44px; display: inline-flex; align-items: center; position: relative; }
.main-nav a:after { content: ""; position: absolute; left: 0; right: 100%; bottom: 6px; height: 1px; background: var(--gold); transition: right .22s ease; }
.main-nav a:hover:after, .main-nav a:focus-visible:after { right: 0; }

.hero { padding-top: 30px; }
.hero-copy { position: relative; overflow: hidden; }
.hero-copy:after { content: "01 — EVERYDAY OBJECTS"; position: absolute; right: 22px; bottom: 18px; color: #8a8279; font-size: 9px; letter-spacing: .22em; writing-mode: vertical-rl; }
.hero h1 { max-width: 650px; }
.hero p { font-size: 15px; line-height: 1.8; }
.hero .button { min-height: 48px; }

.elinique-benefits { max-width: 1184px; margin: 0 auto; padding: 12px 28px 80px; display: grid; grid-template-columns: repeat(3, 1fr); }
.elinique-benefits div { padding: 24px 28px; border: 1px solid var(--line); border-right: 0; }
.elinique-benefits div:last-child { border-right: 1px solid var(--line); }
.elinique-benefits strong, .elinique-benefits span { display: block; }
.elinique-benefits strong { font: 500 22px/1.2 var(--serif); margin-bottom: 5px; }
.elinique-benefits span { color: var(--muted); font-size: 12px; }

.elinique-testimonial { padding: 96px 28px; text-align: center; background: #ded2c1; }
.elinique-testimonial blockquote { max-width: 800px; margin: 22px auto; font: 400 clamp(30px, 5vw, 56px)/1.12 var(--serif); }
.elinique-testimonial p { color: var(--muted); font-size: 11px; letter-spacing: .13em; text-transform: uppercase; }
.elinique-newsletter { max-width: 1184px; margin: 0 auto; padding: 90px 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; }
.elinique-newsletter h2 { font-size: clamp(36px, 5vw, 60px); margin: 10px 0; }
.elinique-newsletter p { color: var(--muted); max-width: 480px; }
.elinique-newsletter label { display: block; font-size: 11px; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 9px; }
.elinique-newsletter form > div { display: flex; border-bottom: 1px solid var(--ink); }
.elinique-newsletter input { width: 100%; border: 0; background: transparent; padding: 16px 4px; font: inherit; }
.elinique-newsletter button { border: 0; background: transparent; padding: 16px; cursor: pointer; font: 600 11px var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.elinique-newsletter small { display: block; margin-top: 10px; color: var(--muted); font-size: 10px; }

.woocommerce .woocommerce-products-header .page-description { display: none; }
.woocommerce .widget-area, .woocommerce #secondary { display: none !important; }
.woocommerce #primary, .woocommerce .content-area { width: 100% !important; float: none !important; }

/* Grid-Reparatur: WooCommerce-Clearfix erzeugt im CSS-Grid ein leeres erstes Feld. */
.woocommerce ul.products::before, .woocommerce ul.products::after,
ul.products::before, ul.products::after { content: none !important; display: none !important; }

/* Alte Placeholder-Deko (product-art) darf echte Produktkarten nicht mehr beschneiden. */
.woocommerce ul.products li.product { aspect-ratio: auto !important; background: none !important; height: auto !important; }
.woocommerce ul.products li.product:after { content: none !important; display: none !important; }

.woocommerce ul.products li.product > a img.woocommerce-placeholder { display: none !important; }
.woocommerce ul.products li.product { overflow: hidden; }
.woocommerce ul.products li.product a img { transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .35s ease; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.025); filter: saturate(1.06); }
.woocommerce ul.products li.product .button { width: 100%; margin-top: 13px; min-height: 44px; opacity: 0; transform: translateY(5px); transition: opacity .22s ease, transform .22s ease, background .22s ease; }
.woocommerce ul.products li.product:hover .button, .woocommerce ul.products li.product:focus-within .button { opacity: 1; transform: none; }
.elinique-product-note { display: block; color: var(--muted); font-size: 10px; margin-top: 6px; }
.elinique-category-nav { display: flex; flex-wrap: wrap; gap: 8px; clear: both; width: 100%; margin: 0 0 34px; padding-top: 26px; grid-column: 1 / -1; }
.elinique-category-nav a { display: inline-flex; align-items: center; min-height: 42px; border: 1px solid var(--line); padding: 9px 17px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; transition: color .2s, background .2s, border-color .2s; }
.elinique-category-nav a:hover, .elinique-category-nav a.is-active { background: var(--ink); border-color: var(--ink); color: white; }
.woocommerce .woocommerce-ordering select { min-height: 44px; border: 1px solid var(--line); background: var(--paper); padding: 0 38px 0 13px; }
.woocommerce .woocommerce-result-count { color: var(--muted); font-size: 12px; }

/* ---------- Produktseite: modernes Layout ---------- */
.elinique-product-page .site-main { padding-top: 34px; }
.elinique-product-page .woocommerce-breadcrumb { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 0 0 34px; }
.elinique-product-page .woocommerce-breadcrumb a { color: var(--muted); }
.elinique-product-page .woocommerce-breadcrumb a:hover { color: var(--ink); }

.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 26px 64px; align-items: start; }
.woocommerce div.product .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .woocommerce-product-gallery img { width: 100%; background: var(--cream); }
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper { box-shadow: 0 24px 60px -38px rgba(30, 22, 12, .45); }
.woocommerce div.product div.summary { width: 100% !important; float: none !important; padding-top: 8px; }
.woocommerce div.product .product_title { font: 400 clamp(34px, 4.4vw, 54px)/1.06 var(--serif); margin-bottom: 6px; }
.woocommerce div.product p.price { font-size: 21px; color: var(--gold) !important; margin-bottom: 4px; }
.woocommerce div.product p.price:after { content: "inkl. MwSt. · versandfrei ab 75 €"; display: block; margin-top: 7px; color: var(--muted); font-size: 11px; letter-spacing: .04em; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--muted); max-width: 540px; line-height: 1.8; }
.woocommerce div.product form.cart { display: flex; align-items: stretch; gap: 10px; margin-top: 30px; }
.woocommerce div.product form.cart .quantity input { min-height: 52px; width: 74px; border: 1px solid var(--line); background: var(--paper); text-align: center; font: inherit; }
.woocommerce div.product form.cart .button { min-height: 52px; flex: 1; letter-spacing: .1em; }
.elinique-product-trust { display: grid; gap: 0; margin-top: 28px; border-top: 1px solid var(--line); }
.elinique-product-trust span { padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.elinique-product-trust span:before { content: "✓"; color: var(--gold); margin-right: 10px; font-weight: 600; }
.woocommerce div.product .product_meta { margin-top: 20px; color: var(--muted); font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }
.woocommerce div.product .product_meta a { color: var(--ink); border-bottom: 1px solid var(--line); }

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related.products,
.woocommerce div.product .up-sells,
.woocommerce div.product .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs { margin-top: 46px; border-top: 1px solid var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 26px; margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: inline-flex; align-items: center; min-height: 54px; font-size: 11px; letter-spacing: .13em; text-transform: uppercase; color: var(--muted); position: relative; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a:after { content: ""; position: absolute; left: 0; right: 100%; bottom: -1px; height: 2px; background: var(--gold); transition: right .22s ease; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a:after, .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover:after { right: 0; }
.woocommerce div.product .woocommerce-tabs .panel { padding: 30px 0 6px; max-width: 720px; color: var(--muted); line-height: 1.85; }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { font: 400 26px/1.25 var(--serif); color: var(--ink); margin-bottom: 12px; }

.woocommerce div.product .related.products { margin-top: 62px; border-top: 1px solid var(--line); padding-top: 44px; }
.woocommerce div.product .related.products > h2 { font: 400 clamp(26px, 3vw, 34px)/1.2 var(--serif); margin-bottom: 28px; }
.woocommerce div.product .related.products ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 20px; }

@media (hover: none) {
  .woocommerce ul.products li.product .button { opacity: 1; transform: none; }
}
@media (max-width: 960px) {
  .woocommerce div.product { grid-template-columns: 1fr; gap: 30px; }
  .woocommerce div.product .related.products ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 850px) {
  .site-header { position: static; }
  .elinique-benefits { grid-template-columns: 1fr; padding-bottom: 55px; }
  .elinique-benefits div { border-right: 1px solid var(--line); border-bottom: 0; }
  .elinique-benefits div:last-child { border-bottom: 1px solid var(--line); }
  .elinique-newsletter { grid-template-columns: 1fr; gap: 28px; }
  .main-nav { scroll-snap-type: x proximity; scrollbar-width: none; }
  .main-nav a { flex: 0 0 auto; scroll-snap-align: start; padding: 0 3px; }
}
@media (max-width: 480px) {
  .topline { font-size: 9px; padding: 8px 10px; }
  .header-inner { padding-top: 18px; padding-bottom: 12px; }
  .brand { font-size: 28px; }
  .header-tools a { min-height: 44px; }
  .hero-copy { padding: 40px 24px 52px; }
  .hero h1 { font-size: 49px; }
  .hero-art { min-height: 360px; }
  .section { padding-top: 55px; padding-bottom: 55px; }
  .section-heading { align-items: flex-start; gap: 14px; flex-direction: column; }
  .woocommerce ul.products li.product .button { font-size: 9px; padding-left: 8px; padding-right: 8px; }
  .elinique-category-nav { flex-wrap: nowrap; overflow-x: auto; margin-left: -18px; margin-right: -18px; padding: 0 18px 6px; scrollbar-width: none; }
  .elinique-category-nav a { flex: 0 0 auto; }
  .elinique-testimonial { padding: 68px 20px; }
  .elinique-newsletter { padding: 68px 18px; }
  .woocommerce div.product form.cart { flex-wrap: wrap; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { gap: 18px; overflow-x: auto; }
}
@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}