/*
Theme Name: Selbstsein Communityshop
Template: hello-elementor
Version: 1.0.2
Description: Shop-spezifisches Erscheinungsbild fuer shop.selbstsein.events.
Text Domain: selbstsein-communityshop
*/

:root {
  --ss-shop-ink: #102c35;
  --ss-shop-petrol: #123f56;
  --ss-shop-wine: #8d463b;
  --ss-shop-berry: #c83277;
  --ss-shop-cream: #fffaf6;
  --ss-shop-rose: #f5e5df;
  --ss-shop-sage: #dfe8d6;
  --ss-shop-line: rgba(16, 44, 53, .16);
}

body {
  background: var(--ss-shop-cream);
  color: var(--ss-shop-ink);
  font-family: "Poppins", sans-serif !important;
}

body :is(h1, h2, h3, h4, h5, h6),
body .elementor-heading-title {
  color: var(--ss-shop-ink);
  font-family: "Poppins", sans-serif !important;
  font-weight: 700;
  letter-spacing: -.025em;
}

/* Header and shop wordmark */
.elementor-location-header {
  background: rgba(255, 250, 246, .96);
  border-bottom: 1px solid var(--ss-shop-line);
  box-shadow: 0 4px 18px rgba(16, 44, 53, .05);
}

.elementor-location-header .elementor-nav-menu a {
  color: var(--ss-shop-ink) !important;
  font-family: "Poppins", sans-serif;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .02em;
}

.elementor-location-header .elementor-nav-menu a.elementor-item-active,
.elementor-location-header .elementor-nav-menu a:hover {
  color: var(--ss-shop-berry) !important;
}

.elementor-element-97ba7c4 .elementor-widget-container > a {
  align-items: flex-start;
  display: flex;
  height: 58px;
  min-width: 230px;
  position: relative;
}

.elementor-element-97ba7c4 img {
  opacity: 0;
  pointer-events: none;
}

.elementor-element-97ba7c4 .elementor-widget-container > a::before {
  color: var(--ss-shop-ink);
  content: "selbstsein.events";
  font-family: "Poppins", sans-serif;
  font-size: 1.06rem;
  font-weight: 800;
  left: 0;
  letter-spacing: -.045em;
  line-height: 1.05;
  position: absolute;
  top: 8px;
}

.elementor-element-97ba7c4 .elementor-widget-container > a::after {
  color: var(--ss-shop-wine);
  content: "Communityshop";
  font-family: "Poppins", sans-serif;
  font-size: .72rem;
  font-weight: 700;
  left: 0;
  letter-spacing: .07em;
  position: absolute;
  text-transform: uppercase;
  top: 30px;
}

/* Buttons and interactions */
body a.elementor-button:not(.cmplz-btn),
body :is(.woocommerce, .wc-block-components) :is(button, .button, input[type="submit"], a.button) {
  background: var(--ss-shop-berry);
  border: 0;
  border-radius: 999px;
  box-shadow: none;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  letter-spacing: .01em;
  padding: .78rem 1.25rem;
}

body a.elementor-button:not(.cmplz-btn):hover,
body :is(.woocommerce, .wc-block-components) :is(button, .button, input[type="submit"], a.button):hover {
  background: var(--ss-shop-wine);
  color: #fff;
  transform: translateY(-1px);
}

/* Home: keep the product-led layout, replace the former high-contrast shop feel. */
body.page-id-3344 .elementor-element-3a83a95,
body.page-id-3344 .elementor-element-7ef12b2,
body.page-id-3344 .elementor-element-325c806 {
  background-color: var(--ss-shop-cream) !important;
}

body.page-id-3344 .elementor-element-6705337 .elementor-heading-title,
body.page-id-3344 .elementor-element-2ab6f8d .elementor-heading-title,
body.page-id-3344 .elementor-element-d61ad07 .elementor-heading-title {
  color: var(--ss-shop-ink) !important;
  font-size: clamp(2.35rem, 5vw, 4.5rem);
  line-height: 1.03;
}

body.page-id-3344 .elementor-element-f293ece,
body.page-id-3344 .elementor-element-fdf9c3d,
body.page-id-3344 .elementor-element-f65eb76 {
  color: var(--ss-shop-petrol);
  font-size: 1.08rem;
  line-height: 1.65;
}

/* Shop archive and products */
.woocommerce .woocommerce-products-header,
.elementor-widget-woocommerce-products-archive-title,
.elementor-widget-woocommerce-products-archive-description {
  background: var(--ss-shop-cream);
}

.elementor-element-0d42cdc .elementor-heading-title,
.elementor-widget-woocommerce-products-archive-title .elementor-heading-title {
  color: var(--ss-shop-ink) !important;
  font-family: "Poppins", sans-serif !important;
}

.woocommerce ul.products,
.elementor-widget-woocommerce-products ul.products {
  gap: 1.35rem;
}

.woocommerce ul.products li.product,
.elementor-widget-woocommerce-products ul.products li.product {
  background: #fff;
  border: 1px solid var(--ss-shop-line);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(16, 44, 53, .06);
  margin: 0 !important;
  overflow: hidden;
  padding: 0 0 1.25rem;
}

.woocommerce ul.products li.product > :not(img):not(a.woocommerce-LoopProduct-link),
.woocommerce ul.products li.product .button {
  margin-left: 1.1rem;
  margin-right: 1.1rem;
}

.woocommerce ul.products li.product img {
  aspect-ratio: 1 / 1.08;
  margin: 0 0 1rem !important;
  object-fit: cover;
}

.woocommerce ul.products li.product :is(.woocommerce-loop-product__title, .price) {
  color: var(--ss-shop-ink) !important;
  font-family: "Poppins", sans-serif;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.35;
}

.woocommerce div.product .product_title,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--ss-shop-ink);
  font-family: "Poppins", sans-serif;
}

.woocommerce div.product .product_title { font-size: clamp(2rem, 4vw, 3.1rem); }

.woocommerce div.product .woocommerce-product-gallery__image img {
  border-radius: 18px;
}

/* Calm, legible footer */
.elementor-3320.elementor-location-footer {
  background: var(--ss-shop-ink);
  color: #fff;
}

.elementor-3320.elementor-location-footer :is(h1, h2, h3, h4, h5, h6, p, a, span) {
  color: #fff;
}

.elementor-3320.elementor-location-footer a:hover { color: #f7b9cf; }

@media (max-width: 767px) {
  .elementor-element-97ba7c4 .elementor-widget-container > a { min-width: 168px; }
  .elementor-element-97ba7c4 .elementor-widget-container > a::before { font-size: .88rem; }
  .elementor-element-97ba7c4 .elementor-widget-container > a::after { font-size: .62rem; }
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
