/*
Theme Name: Dogsland
Theme URI: https://www.dogsland.ch
Author: Dogsland GmbH
Description: Official Dogsland theme with WooCommerce integration
Version: 3.0
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
License: Private
Text Domain: dogsland
Tags: woocommerce, custom, e-commerce
*/

/* ── Variables ───────────────────────────────────── */
:root {
  --pk: #fa3c7f;
  --pk2: #d42d68;
  --ink: #0f0d0c;
  --warm: #f9f6f2;
  --wh: #fff;
  --font-serif: 'Cormorant', Georgia, serif;
  --font-sans: 'DM Sans', sans-serif;
}

/* ── WooCommerce Shop Wrapper ────────────────────── */
.dogsland-woo {
  max-width: 1280px;
  margin: 0 auto;
  padding: 60px 40px;
  font-family: var(--font-sans);
  background: var(--warm);
  min-height: 60vh;
}

.dogsland-woo-inner {
  width: 100%;
}

/* Page title */
.dogsland-woo h1.page-title,
.dogsland-woo-inner h1 {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 40px;
  letter-spacing: -.02em;
}

/* Results count & ordering */
.dogsland-woo .woocommerce-result-count {
  font-size: 13px;
  color: #9a8f88;
  margin-bottom: 24px;
}
.dogsland-woo .woocommerce-ordering select {
  border: 1px solid #e0d8d2;
  border-radius: 8px;
  padding: 8px 16px;
  font-size: 13px;
  font-family: var(--font-sans);
  background: #fff;
  cursor: pointer;
}

/* ── Product Grid ────────────────────────────────── */
.dogsland-woo ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 48px !important;
}

.dogsland-woo ul.products li.product {
  background: #fff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
  transition: transform .22s, box-shadow .22s !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  float: none !important;
  padding: 0 !important;
  width: auto !important;
}

.dogsland-woo ul.products li.product:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 36px rgba(0,0,0,.13) !important;
}

/* Product image */
.dogsland-woo ul.products li.product a img,
.dogsland-woo ul.products li.product img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .35s !important;
}

.dogsland-woo ul.products li.product:hover img {
  transform: scale(1.05) !important;
}

/* Product title */
.dogsland-woo ul.products li.product .woocommerce-loop-product__title,
.dogsland-woo ul.products li.product h2 {
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 16px 16px 4px !important;
  color: var(--ink) !important;
  margin: 0 !important;
}

/* Product price */
.dogsland-woo ul.products li.product .price,
.dogsland-woo ul.products li.product .price * {
  padding: 0 16px 8px !important;
  color: var(--pk) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  display: block !important;
}

/* Add to cart button */
.dogsland-woo ul.products li.product .button,
.dogsland-woo ul.products li.product a.button {
  display: block !important;
  margin: auto 16px 16px !important;
  padding: 10px 20px !important;
  background: var(--ink) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: background .15s !important;
  letter-spacing: .3px !important;
}

.dogsland-woo ul.products li.product .button:hover,
.dogsland-woo ul.products li.product a.button:hover {
  background: var(--pk) !important;
  color: #fff !important;
}

/* ── Single Product ──────────────────────────────── */
.dogsland-woo div.product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}

.dogsland-woo .woocommerce-product-gallery {
  border-radius: 14px;
  overflow: hidden;
}

.dogsland-woo .entry-summary h1.product_title {
  font-family: var(--font-serif);
  font-size: 2.4rem;
  font-weight: 600;
  margin-bottom: 16px;
  color: var(--ink);
}

.dogsland-woo .entry-summary .price {
  font-size: 1.4rem !important;
  color: var(--pk) !important;
  font-weight: 600 !important;
  margin-bottom: 20px;
  padding: 0 !important;
  display: block !important;
}

.dogsland-woo .single_add_to_cart_button,
.dogsland-woo button[type="submit"] {
  background: var(--pk) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 14px 32px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: background .15s !important;
}

.dogsland-woo .single_add_to_cart_button:hover {
  background: var(--pk2) !important;
}

/* ── Cart & Checkout ─────────────────────────────── */


.dogsland-woo .checkout-button,

/* ── Notices ─────────────────────────────────────── */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  border-radius: 8px;
  padding: 14px 20px;
  margin-bottom: 24px;
  font-size: 14px;
}

.woocommerce-message { background: #d4edda; border-left: 4px solid #27ae60; }
.woocommerce-error   { background: #f8d7da; border-left: 4px solid #e74c3c; }
.woocommerce-info    { background: #d1ecf1; border-left: 4px solid #17a2b8; }

/* ── Pagination ──────────────────────────────────── */
.dogsland-woo .woocommerce-pagination ul {
  list-style: none;
  display: flex;
  gap: 8px;
  padding: 0;
  justify-content: center;
  margin-top: 40px;
}

.dogsland-woo .woocommerce-pagination ul li a,
.dogsland-woo .woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  background: #fff;
  color: var(--ink);
  border: 1px solid #e0d8d2;
  transition: background .15s, color .15s;
}

.dogsland-woo .woocommerce-pagination ul li span.current,
.dogsland-woo .woocommerce-pagination ul li a:hover {
  background: var(--pk);
  color: #fff;
  border-color: var(--pk);
}

/* ── Breadcrumbs ─────────────────────────────────── */
.dogsland-woo .woocommerce-breadcrumb {
  font-size: 12px;
  color: #9a8f88;
  margin-bottom: 24px;
}
.dogsland-woo .woocommerce-breadcrumb a { color: var(--pk); text-decoration: none; }

/* ── Responsive ──────────────────────────────────── */
@media(max-width: 1024px) {
  .dogsland-woo ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media(max-width: 600px) {
  .dogsland-woo { padding: 40px 20px; }
  .dogsland-woo ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
  .dogsland-woo div.product { grid-template-columns: 1fr; gap: 30px; }
  .dogsland-woo ul.products li.product a img,
  .dogsland-woo ul.products li.product img { height: auto !important; aspect-ratio: 1 / 1 !important; }
}

/* ══════════════════════════════════════════════════
   SINGLE PRODUCT — Dogsland Custom Template
   ══════════════════════════════════════════════════ */

.dogsland-single-wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 40px 80px;
  font-family: 'DM Sans', sans-serif;
  background: var(--warm);
}

/* ── Two-column layout ── */
.dl-product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
  margin-bottom: 64px;
}

/* ── Gallery ── */
.dl-gallery-main {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: #f0ebe4;
  aspect-ratio: 1;
}
.dl-gallery-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s;
}
.dl-gallery-main:hover img { transform: scale(1.03); }
.dl-zoom-icon {
  position: absolute;
  top: 14px; right: 14px;
  background: rgba(255,255,255,.85);
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 14px;
  opacity: 0;
  transition: opacity .2s;
}
.dl-gallery-main:hover .dl-zoom-icon { opacity: 1; }

.dl-gallery-thumbs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.dl-thumb {
  width: 72px;
  height: 72px;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color .2s, opacity .2s;
  opacity: .65;
}
.dl-thumb:hover { opacity: .9; }
.dl-thumb.active { border-color: #fa3c7f; opacity: 1; }
.dl-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ── Summary ── */
.dl-breadcrumb {
  font-size: 12px;
  color: #9a8f88;
  margin-bottom: 18px;
}
.dl-breadcrumb a {
  color: #9a8f88;
  text-decoration: none;
  transition: color .15s;
}
.dl-breadcrumb a:hover { color: #fa3c7f; }

.dl-product-title {
  font-family: 'Cormorant', serif;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 600;
  color: #0f0d0c;
  line-height: 1.15;
  margin-bottom: 16px;
}

.dl-rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  font-size: 13px;
  color: #9a8f88;
}

/* ── Price — CHF and amount on ONE line ── */
.dl-price {
  margin-bottom: 20px;
  line-height: 1;
}
.dl-price .price,
.dl-price .woocommerce-Price-amount,
.dl-price bdi {
  display: inline !important;
  font-size: 1.7rem !important;
  font-weight: 700 !important;
  color: #fa3c7f !important;
  line-height: 1 !important;
}
.dl-price .woocommerce-Price-currencySymbol {
  font-size: 1.2rem !important;
  color: #fa3c7f !important;
}
.dl-price small {
  display: inline !important;
  font-size: 12px !important;
  color: #9a8f88 !important;
  font-weight: 400 !important;
  margin-left: 6px !important;
}

.dl-short-desc {
  font-size: 14px;
  color: #555;
  line-height: 1.75;
  margin-bottom: 24px;
  border-left: 3px solid #fa3c7f;
  padding-left: 14px;
}

/* ── Cart Form ── */
.dl-cart-form { margin-bottom: 24px; }

/* Simple product — full column layout */
.dl-cart-form .cart {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: stretch;
}
.dl-cart-form .quantity input[type="number"] {
  width: 72px;
  height: 52px;
  border: 1.5px solid #e0d8d2;
  border-radius: 10px;
  text-align: center;
  font-size: 16px;
  font-family: 'DM Sans', sans-serif;
  background: #fff;
}

/* Variable product select */
.dl-cart-form .variations {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 16px;
}
.dl-cart-form .variations td,
.dl-cart-form .variations th {
  padding: 6px 0;
  font-size: 14px;
}
.dl-cart-form .variations td.label {
  font-weight: 600;
  color: #555;
  width: 120px;
  padding-right: 16px;
}
.dl-cart-form .variations select {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid #e0d8d2;
  border-radius: 8px;
  font-size: 14px;
  font-family: 'DM Sans', sans-serif;
  background: #fff;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239a8f88' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
}

/* THE BUTTON */
.dl-cart-form .single_add_to_cart_button,
.dl-cart-form button[type="submit"] {
  flex: 1;
  min-width: 0;
  background: #fa3c7f !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 16px 24px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-family: 'DM Sans', sans-serif !important;
  cursor: pointer !important;
  transition: background .15s, transform .1s !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
.dl-cart-form .single_add_to_cart_button:hover {
  background: #d42d68 !important;
  transform: translateY(-1px) !important;
}

/* Reset price message */
.dl-cart-form .woocommerce-variation-price { margin-bottom: 16px; }
.dl-cart-form .woocommerce-variation-price .price {
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: #fa3c7f !important;
}

/* Meta */
.dl-meta {
  font-size: 12px;
  color: #9a8f88;
  margin-bottom: 20px;
}
.dl-meta a {
  color: #fa3c7f;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 11px;
  font-weight: 600;
}

/* Trust badges */
.dl-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.dl-trust-item {
  background: #fff;
  border: 1px solid #e0d8d2;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 12px;
  color: #555;
  font-weight: 500;
}

/* ── Tabs ── */
.dl-tabs-wrap {
  max-width: 1280px;
  margin: 0 auto 60px;
  padding: 0 40px;
  font-family: 'DM Sans', sans-serif;
}
.dl-tabs-nav {
  display: flex;
  border-bottom: 2px solid #e0d8d2;
  margin-bottom: 28px;
  gap: 0;
}
.dl-tab-btn {
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 500;
  font-family: 'DM Sans', sans-serif;
  cursor: pointer;
  color: #9a8f88;
  margin-bottom: -2px;
  transition: color .15s, border-color .15s;
}
.dl-tab-btn.active {
  color: #0f0d0c;
  border-bottom-color: #fa3c7f;
}
.dl-tab-panel { display: none; }
.dl-tab-panel.active { display: block; }
.dl-tab-panel p, .dl-tab-panel li { font-size: 14px; line-height: 1.8; color: #444; }
.dl-tab-panel h2, .dl-tab-panel h3 {
  font-family: 'Cormorant', serif;
  font-weight: 600;
  color: #0f0d0c;
  margin: 24px 0 12px;
}

/* Attributes table */
.dl-attr-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.dl-attr-table tr { border-bottom: 1px solid #eee; }
.dl-attr-table td { padding: 10px 14px; vertical-align: top; }
.dl-attr-label { font-weight: 600; color: #555; width: 220px; white-space: nowrap; }

/* ── Related Products ── */
.dl-related {
  max-width: 1280px;
  margin: 0 auto 80px;
  padding: 0 40px;
  font-family: 'DM Sans', sans-serif;
}
.dl-related h2 {
  font-family: 'Cormorant', serif;
  font-size: 2rem;
  font-weight: 600;
  color: #0f0d0c;
  margin-bottom: 28px;
}
.dl-related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.dl-related-card {
  text-decoration: none;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
  transition: transform .22s, box-shadow .22s;
  display: flex;
  flex-direction: column;
}
.dl-related-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}
.dl-related-img {
  aspect-ratio: 1;
  overflow: hidden;
  background: #f9f6f2;
}
.dl-related-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s;
}
.dl-related-card:hover .dl-related-img img { transform: scale(1.06); }
.dl-related-body { padding: 14px 16px 16px; }
.dl-related-name {
  font-size: 14px;
  font-weight: 500;
  color: #0f0d0c;
  margin-bottom: 6px;
  line-height: 1.3;
}
.dl-related-price,
.dl-related-price .woocommerce-Price-amount {
  font-size: 14px;
  font-weight: 600;
  color: #fa3c7f !important;
  display: inline !important;
}

/* ── Responsive ── */
@media(max-width:900px) {
  .dl-product { grid-template-columns: 1fr; gap: 32px; }
  .dl-related-grid { grid-template-columns: repeat(2, 1fr); }
  .dogsland-single-wrap { padding: 32px 20px 60px; }
  .dl-tabs-wrap, .dl-related { padding: 0 20px; }
}
@media(max-width:480px) {
  .dl-related-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}

/* ══ PRICE FIX - alle Preise auf einer Zeile ══════ */

/* Shop product grid prices */
.woocommerce ul.products li.product .price,
.dogsland-woo ul.products li.product .price {
  display: block !important;
  padding: 4px 16px 4px !important;
  line-height: 1.4 !important;
}
.woocommerce ul.products li.product .price bdi,
.woocommerce ul.products li.product .price .woocommerce-Price-amount,
.dogsland-woo ul.products li.product .price bdi,
.dogsland-woo ul.products li.product .price .woocommerce-Price-amount {
  display: inline !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #fa3c7f !important;
}
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol,
.dogsland-woo ul.products li.product .price .woocommerce-Price-currencySymbol {
  display: inline !important;
  color: #fa3c7f !important;
  font-size: 15px !important;
}

/* MwSt. text - same line, smaller */
.woocommerce ul.products li.product .price small.woocommerce-price-suffix,
.dogsland-woo ul.products li.product .price small.woocommerce-price-suffix {
  display: inline !important;
  font-size: 11px !important;
  color: #9a8f88 !important;
  font-weight: 400 !important;
  margin-left: 4px !important;
}

/* Remove extra line breaks in price */
.woocommerce ul.products li.product .price br,
.dogsland-woo ul.products li.product .price br {
  display: none !important;
}

/* Single product price fix */
.woocommerce div.product .price,
.dl-price .price {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 3px !important;
  line-height: 1 !important;
}
.woocommerce div.product .price bdi,
.woocommerce div.product .price .woocommerce-Price-amount,
.dl-price .price bdi,
.dl-price .price .woocommerce-Price-amount {
  display: inline !important;
  color: #fa3c7f !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
}
.woocommerce div.product .price small,
.dl-price .price small {
  display: inline !important;
  font-size: 12px !important;
  color: #9a8f88 !important;
  font-weight: 400 !important;
}

/* Navigation - show on all pages */
.nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 500 !important;
  display: block !important;
}

/* ══ CHECKOUT & CART STYLING ══════════════════════ */
/* Checkout form */
/* Order table */
/* Konfigurator details in cart */
.dogsland-woo .wc-item-meta { font-size: 12px; color: #9a8f88; margin-top: 4px; }
.dogsland-woo .wc-item-meta li { margin-bottom: 2px; }
/* Payment section */
.dogsland-woo .woocommerce-cart-form { margin-bottom: 40px; }
.dogsland-woo .cart-collaterals { display: flex; justify-content: flex-end; }
.dogsland-woo .cart_totals { min-width: 340px; background: #fff; border-radius: 12px; padding: 24px; border: 1px solid #e0d8d2; }
.dogsland-woo .cart_totals h2 { font-family: 'Cormorant', serif; font-size: 1.4rem; font-weight: 600; margin-bottom: 16px; }
.dogsland-woo .checkout-button {
  display: block !important;
  background: #fa3c7f !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 14px 32px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-decoration: none !important;
  margin-top: 16px !important;
  transition: background .15s !important;
}
.dogsland-woo .checkout-button:hover { background: #d42d68 !important; }

/* ══ SHOP CATEGORY NAV ════════════════════════════ */
.dl-shop-cats {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid #e0d8d2;
}
.dl-shop-cat {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 20px;
  border-radius: 30px;
  border: 1.5px solid #e0d8d2;
  background: #fff;
  color: #0f0d0c;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  font-family: 'DM Sans', sans-serif;
  transition: all .15s;
}
.dl-shop-cat:hover,
.dl-shop-cat.active {
  background: #fa3c7f;
  border-color: #fa3c7f;
  color: #fff;
}

/* ══ SINGLE PRODUCT FIXES ════════════════════════ */
/* Short description - make sure it shows */
.dogsland-single-wrap .dl-short-desc,
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 14px;
  color: #555;
  line-height: 1.75;
  margin-bottom: 24px;
  border-left: 3px solid #fa3c7f;
  padding-left: 14px;
}

/* Add to cart button - always show */
.dogsland-single-wrap .dl-cart-form,
.woocommerce div.product form.cart {
  display: block !important;
  margin-bottom: 24px;
}

/* Description image spacing */
.dogsland-single-wrap .dl-tab-panel img,
.woocommerce div.product .woocommerce-Tabs-panel img {
  max-width: 100%;
  border-radius: 10px;
  margin: 16px 0;
  display: block;
}
.dogsland-single-wrap .dl-tab-panel p,
.woocommerce div.product .woocommerce-Tabs-panel p {
  margin-bottom: 12px;
  line-height: 1.8;
  font-size: 14px;
}
.dogsland-single-wrap .dl-tab-panel ul,
.woocommerce div.product .woocommerce-Tabs-panel ul {
  margin: 12px 0 12px 20px;
}
.dogsland-single-wrap .dl-tab-panel li,
.woocommerce div.product .woocommerce-Tabs-panel li {
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 4px;
}

/* ══ PRODUCT DESCRIPTION STYLING ════════════════ */
.dl-product-description {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  line-height: 1.9;
  color: #444;
  max-width: 780px;
}
.dl-product-description p {
  margin-bottom: 14px;
  line-height: 1.9;
}
.dl-product-description strong,
.dl-product-description b {
  font-weight: 600;
  color: #0f0d0c;
}
.dl-product-description em,
.dl-product-description i {
  font-style: italic;
  color: #0f0d0c;
  font-weight: 500;
}
.dl-product-description h2,
.dl-product-description h3,
.dl-product-description h4 {
  font-family: 'Cormorant', serif;
  font-weight: 600;
  color: #0f0d0c;
  margin: 20px 0 8px;
}
.dl-product-description h2 { font-size: 1.5rem; }
.dl-product-description h3 { font-size: 1.2rem; }
.dl-product-description ul,
.dl-product-description ol {
  margin: 8px 0 16px 20px;
  padding: 0;
}
.dl-product-description ul li,
.dl-product-description ol li {
  margin-bottom: 6px;
  line-height: 1.7;
}
.dl-product-description ul li::marker { color: #fa3c7f; }
.dl-product-description a {
  color: #fa3c7f;
  text-decoration: underline;
}
.dl-product-description a:hover { color: #d42d68; }
.dl-product-description img {
  max-width: 100%;
  border-radius: 10px;
  margin: 16px 0;
  display: block;
}
.dl-product-description hr {
  border: none;
  border-top: 1px solid #e0d8d2;
  margin: 20px 0;
}
/* Preserve line breaks from WordPress editor */
.dl-product-description br { display: block; margin-bottom: 4px; }

/* WooCommerce default description tab also styled */
.woocommerce-Tabs-panel--description {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
  color: #444 !important;
}
.woocommerce-Tabs-panel--description p {
  margin-bottom: 14px !important;
}

/* Trust badges on product page */
.dl-trust { margin-top: 20px; }
.dl-trust-item {
  background: #fff;
  border: 1px solid #e0d8d2;
  border-radius: 20px;
  padding: 6px 14px;
  font-size: 12px;
  color: #555;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* ══ CART PAGE COMPLETE FIX ══════════════════════ */

/* Reset cart page layout */
.woocommerce-cart .dogsland-woo,

/* Cart title */
.woocommerce-cart .dogsland-woo h1,
.woocommerce-cart .dogsland-woo .woocommerce-cart-form h2 {
  font-family: 'Cormorant', serif !important;
  font-size: 2.5rem !important;
  font-weight: 600 !important;
  color: #0f0d0c !important;
  margin-bottom: 32px !important;
}

/* Cart table */

/* Quantity input */
.woocommerce-cart .dogsland-woo .quantity input {
  width: 64px !important;
  height: 44px !important;
  border: 1.5px solid #e0d8d2 !important;
  border-radius: 8px !important;
  text-align: center !important;
  font-size: 15px !important;
  font-family: 'DM Sans', sans-serif !important;
}

/* Coupon + Update cart row */
.woocommerce-cart .dogsland-woo .actions {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 16px !important;
  flex-wrap: wrap !important;
}
.woocommerce-cart .dogsland-woo .coupon {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
}
.woocommerce-cart .dogsland-woo .coupon input {
  padding: 10px 14px !important;
  border: 1.5px solid #e0d8d2 !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-family: 'DM Sans', sans-serif !important;
  min-width: 200px !important;
}
.woocommerce-cart .dogsland-woo .coupon button,
.woocommerce-cart .dogsland-woo button[name="apply_coupon"] {
  background: #0f0d0c !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  font-family: 'DM Sans', sans-serif !important;
}
.woocommerce-cart .dogsland-woo button[name="update_cart"] {
  background: #f9f6f2 !important;
  color: #0f0d0c !important;
  border: 1.5px solid #e0d8d2 !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  font-family: 'DM Sans', sans-serif !important;
  transition: background .15s !important;
}

/* Cart totals */
.woocommerce-cart .dogsland-woo .cart-collaterals {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 32px !important;
}
.woocommerce-cart .dogsland-woo .cart_totals {
  background: #fff !important;
  border-radius: 14px !important;
  padding: 28px !important;
  border: 1px solid #e0d8d2 !important;
  min-width: 360px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
}
.woocommerce-cart .dogsland-woo .cart_totals h2 {
  font-family: 'Cormorant', serif !important;
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  margin-bottom: 20px !important;
  color: #0f0d0c !important;
}
.woocommerce-cart .dogsland-woo .cart_totals table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 20px !important;
}
.woocommerce-cart .dogsland-woo .cart_totals table th,
.woocommerce-cart .dogsland-woo .cart_totals table td {
  padding: 10px 0 !important;
  border-bottom: 1px solid #eee !important;
  font-size: 14px !important;
}
.woocommerce-cart .dogsland-woo .cart_totals table .order-total th,
.woocommerce-cart .dogsland-woo .cart_totals table .order-total td {
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #0f0d0c !important;
  border-bottom: none !important;
}
.woocommerce-cart .dogsland-woo .cart_totals table .order-total .woocommerce-Price-amount {
  color: #fa3c7f !important;
}
.woocommerce-cart .dogsland-woo .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .dogsland-woo a.checkout-button {
  display: block !important;
  background: #fa3c7f !important;
  color: #fff !important;
  border-radius: 12px !important;
  padding: 16px 32px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-decoration: none !important;
  font-family: 'DM Sans', sans-serif !important;
  transition: background .15s !important;
}
.woocommerce-cart .dogsland-woo a.checkout-button:hover {
  background: #d42d68 !important;
}

/* Shipping calculator */
.woocommerce-cart .dogsland-woo .shipping-calculator-button {
  color: #fa3c7f !important;
  font-size: 13px !important;
}

/* Empty cart */
.woocommerce-cart .dogsland-woo .cart-empty {
  text-align: center !important;
  padding: 60px 20px !important;
  font-size: 16px !important;
  color: #9a8f88 !important;
}
.woocommerce-cart .dogsland-woo .return-to-shop a {
  display: inline-block !important;
  background: #fa3c7f !important;
  color: #fff !important;
  border-radius: 10px !important;
  padding: 12px 28px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  margin-top: 16px !important;
}

@media(max-width: 768px) {
  .woocommerce-cart .dogsland-woo,
  .woocommerce-cart .dogsland-woo .cart_totals { min-width: auto; width: 100%; }
}

/* ══ PAGE TITLE (Cart, Checkout) ════════════════ */
.dl-page-title {
  font-family: 'Cormorant', serif !important;
  font-size: 2.5rem !important;
  font-weight: 600 !important;
  color: #0f0d0c !important;
  margin-bottom: 32px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #e0d8d2 !important;
}

/* ══ ADD TO CART — Unique Dogsland Button ════════ */

/* Cart form wrapper */
.dl-cart-form {
  margin: 24px 0 !important;
}

/* Quantity + Button row */
.dl-cart-form form.cart,
.woocommerce div.product form.cart {
  display: flex !important;
  gap: 12px !important;
  align-items: stretch !important;
  flex-wrap: wrap !important;
  margin-bottom: 0 !important;
}

/* [removed duplicate - see dl-product-form section] */

/* THE UNIQUE ADD TO CART BUTTON */
.dl-cart-form .single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart button[type="submit"] {
  flex: 1 !important;
  min-width: 200px !important;
  background: linear-gradient(135deg, #fa3c7f 0%, #d42d68 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 0 32px !important;
  height: 54px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  font-family: 'DM Sans', sans-serif !important;
  cursor: pointer !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all .25s !important;
  box-shadow: 0 4px 20px rgba(250,60,127,.35) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

/* Shimmer effect */
.dl-cart-form .single_add_to_cart_button::before,
.woocommerce div.product form.cart button[type="submit"]::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: -100% !important;
  width: 60% !important; height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent) !important;
  transition: left .5s !important;
}
.dl-cart-form .single_add_to_cart_button:hover::before,
.woocommerce div.product form.cart button[type="submit"]:hover::before {
  left: 150% !important;
}

/* Button hover */
.dl-cart-form .single_add_to_cart_button:hover,
.woocommerce div.product form.cart button[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(250,60,127,.45) !important;
}

/* Button click */
.dl-cart-form .single_add_to_cart_button:active,
.woocommerce div.product form.cart button[type="submit"]:active {
  transform: translateY(0) !important;
  box-shadow: 0 3px 12px rgba(250,60,127,.3) !important;
}

/* Added to cart state */
.dl-cart-form .single_add_to_cart_button.added,
.woocommerce div.product form.cart button.added {
  background: linear-gradient(135deg, #27ae60 0%, #1e8449 100%) !important;
  box-shadow: 0 4px 20px rgba(39,174,96,.35) !important;
}

/* Cart icon in button - add via CSS */
.dl-cart-form .single_add_to_cart_button::after,
.woocommerce div.product form.cart button[type="submit"]::after {
  content: '🛒' !important;
  font-size: 16px !important;
  margin-left: 4px !important;
}
.dl-cart-form .single_add_to_cart_button.loading::after {
  content: '⏳' !important;
}
.dl-cart-form .single_add_to_cart_button.added::after {
  content: '✓' !important;
}

/* Variable product select styling */
.dl-cart-form .variations_form .variations {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 10px !important;
  margin-bottom: 8px !important;
}
.dl-cart-form .variations_form .variations td.label label {
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #555 !important;
}
.dl-cart-form .variations_form .variations td.value select {
  width: 100% !important;
  padding: 10px 40px 10px 14px !important;
  border: 1.5px solid #e0d8d2 !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-family: 'DM Sans', sans-serif !important;
  background: #fff !important;
  cursor: pointer !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239a8f88' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  transition: border-color .15s !important;
}
.dl-cart-form .variations_form .variations td.value select:focus {
  border-color: #fa3c7f !important;
  outline: none !important;
}

/* "Added to cart" view cart link */
.dl-cart-form .added_to_cart {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 12px !important;
  color: #27ae60 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}
.dl-cart-form .added_to_cart::before {
  content: '✓ ' !important;
  font-weight: 700 !important;
}

/* ══ SHOP PRODUCT CARDS — COMPLETE RESTYLE ══════ */

/* Reset all WooCommerce default floats */
.dogsland-woo ul.products::after { content: ''; display: table; clear: both; }
.dogsland-woo ul.products li.product { clear: none !important; }

/* Price — force single line */
.woocommerce ul.products li.product .price {
  display: block !important;
  line-height: 1.3 !important;
  margin-bottom: 8px !important;
}
.woocommerce ul.products li.product .price bdi { display: inline !important; }
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol { display: inline !important; }
.woocommerce ul.products li.product .price br { display: none !important; }
.woocommerce ul.products li.product .price > span { display: inline !important; }

/* MwSt label on same line */
.woocommerce ul.products li.product .woocommerce-loop-product__price .tax_label,
.dogsland-woo ul.products li.product .woocommerce-loop-product__price .tax_label {
  font-size: 11px !important;
  color: #9a8f88 !important;
  font-weight: 400 !important;
  display: inline !important;
  margin-left: 3px !important;
}

/* "Weiterlesen" = variable/external products — style as pink outline button */
.woocommerce ul.products li.product a.button.product_type_variable,
.woocommerce ul.products li.product a.button.product_type_external,
.dogsland-woo ul.products li.product a.button.product_type_variable,
.dogsland-woo ul.products li.product a.button.product_type_external {
  background: transparent !important;
  color: #fa3c7f !important;
  border: 1.5px solid #fa3c7f !important;
  border-radius: 8px !important;
}
.woocommerce ul.products li.product a.button.product_type_variable:hover,
.dogsland-woo ul.products li.product a.button.product_type_variable:hover {
  background: #fa3c7f !important;
  color: #fff !important;
}

/* Fix double sticky nav on shop pages */
.woocommerce .nav,
.woocommerce-shop .nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 500 !important;
}

/* Shop page header hero */






/* ══ SHOP HERO ════════════════════════════════════ */







/* Category filter after hero */
.dl-shop-cats { margin-top: 8px; }

@media(max-width: 768px) {
  
  
}

/* ══ SOCIAL ICONS — SVG ══════════════════════════ */
.dl-footer-social a {
  width: 40px !important;
  height: 40px !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: rgba(255,255,255,.5) !important;
  transition: all .2s !important;
}
.dl-footer-social a:hover {
  border-color: #fa3c7f !important;
  color: #fa3c7f !important;
  background: rgba(250,60,127,.08) !important;
  transform: translateY(-2px) !important;
}
.dl-footer-social a svg {
  width: 18px !important;
  height: 18px !important;
  stroke: currentColor !important;
}

/* ══ SHOP PRODUCT CARDS — FINAL FIX ═════════════ */

/* Price: fix the dash/space between CHF and amount */
.woocommerce ul.products li.product .price,
.dogsland-woo ul.products li.product .price {
  display: block !important;
  padding: 4px 16px 6px !important;
  line-height: 1.3 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #fa3c7f !important;
}
.woocommerce ul.products li.product .price .woocommerce-Price-amount,
.woocommerce ul.products li.product .price bdi {
  color: #fa3c7f !important;
  display: inline !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
  color: #fa3c7f !important;
  display: inline !important;
}
/* Remove the dash/space separator */
/* removed price killer */
.woocommerce ul.products li.product .price .tax_label {
  display: inline !important;
  font-size: 11px !important;
  color: #9a8f88 !important;
  font-weight: 400 !important;
  margin-left: 3px !important;
}
/* Hide "Warenkorb anzeigen" link under button */
.woocommerce ul.products li.product .added_to_cart.wc-forward {
  display: none !important;
}


/* ══ HIDE "WARENKORB ANZEIGEN" LINK ══════════════ */
.added_to_cart,
.added_to_cart.wc-forward,
a.added_to_cart,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce .products .added_to_cart {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ══ CART TOAST NOTIFICATION ════════════════════ */
#dl-cart-toast {
  position: fixed;
  bottom: 28px;
  right: 28px;
  background: #fff;
  border-radius: 14px;
  padding: 16px 20px;
  box-shadow: 0 8px 32px rgba(0,0,0,.16);
  border: 1px solid #f0ebe4;
  z-index: 9999;
  width: min(320px, 90vw);
  transform: translateY(100px);
  opacity: 0;
  transition: all .3s cubic-bezier(.34,1.56,.64,1);
  font-family: 'DM Sans', sans-serif;
}
#dl-cart-toast.show {
  transform: translateY(0);
  opacity: 1;
}
#dl-cart-toast .dl-toast-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
#dl-cart-toast .dl-toast-icon {
  width: 36px; height: 36px;
  background: #d4edda;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; flex-shrink: 0;
}
#dl-cart-toast .dl-toast-text { flex: 1; }
#dl-cart-toast .dl-toast-title {
  font-weight: 600; font-size: 14px; color: #0f0d0c;
}
#dl-cart-toast .dl-toast-sub {
  font-size: 12px; color: #9a8f88; margin-top: 1px;
}
#dl-cart-toast .dl-toast-close {
  background: none; border: none; cursor: pointer;
  color: #9a8f88; font-size: 18px; line-height: 1;
}
#dl-cart-toast .dl-toast-btns {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
}
#dl-cart-toast .dl-toast-btn {
  padding: 10px; border-radius: 8px; font-size: 13px;
  font-weight: 600; text-align: center; text-decoration: none;
  font-family: 'DM Sans', sans-serif; cursor: pointer;
  transition: background .15s;
}
#dl-cart-toast .dl-toast-btn-cart {
  background: #f9f6f2; color: #0f0d0c; border: 1px solid #e0d8d2;
}
#dl-cart-toast .dl-toast-btn-cart:hover { background: #e0d8d2; }
#dl-cart-toast .dl-toast-btn-checkout {
  background: #fa3c7f; color: #fff; border: none;
}
#dl-cart-toast .dl-toast-btn-checkout:hover { background: #d42d68; }

/* ══ PRICE FIX — NUCLEAR OPTION ═════════════════ */
/* Remove ALL separators between CHF and amount */
.woocommerce ul.products li.product .price *,
.dogsland-woo ul.products li.product .price * {
  display: inline !important;
  float: none !important;
}
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price > span:not(.woocommerce-Price-amount):not(.tax_label) {
  display: none !important;
}
/* The dash/space separator that appears between CHF and amount is a ::before or text node */
.woocommerce ul.products li.product .price {
  white-space: nowrap !important;
}

/* ══ CHECKOUT PAGE — FULL REDESIGN ══════════════ */

/* Two-column checkout layout */
@media(max-width: 900px) {

/* Left: billing form */

/* Right: order summary */
/* Shipping + Total rows */
/* Payment box */
/* Place order button */
/* Coupon on checkout */
/* Gutschein banner */

/* ══ CHECKOUT — COMPLETE PROFESSIONAL DESIGN ════ */
.dl-back-to-cart {
  font-size: 13px;
  color: #9a8f88;
  text-decoration: none;
  transition: color .15s;
}
.dl-back-to-cart:hover { color: #fa3c7f; }

/* Two-column layout */
@media(max-width: 900px) {
/* Form card */
.dl-form-card {
  background: #fff;
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 2px 16px rgba(0,0,0,.06);
  margin-bottom: 24px;
}

/* Field labels */
/* Shipping checkbox */
/* Notes */

/* Order summary (right column) */
.dl-order-summary {
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 2px 16px rgba(0,0,0,.06);
  position: sticky;
  top: 90px;
}
.dl-order-summary h3 {
  font-family: 'Cormorant', serif !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  color: #0f0d0c !important;
  margin: 0 0 20px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #e0d8d2 !important;
}
/* Order review table */
/* Totals */
.dl-order-summary table tfoot .order-total td {
  font-size: 16px !important;
  font-weight: 700 !important;
  border-top: 2px solid #e0d8d2 !important;
  padding-top: 14px !important;
}
.dl-order-summary table tfoot .order-total td .woocommerce-Price-amount,

/* Payment box */
.dl-payment-box,
/* Privacy text */
/* Coupon */
@media(max-width: 600px) {
}

/* ══ ORDER CONFIRMATION PAGE ════════════════════ */
.woocommerce-order { font-family: 'DM Sans', sans-serif; }

/* Wrap the whole order confirmation */
.woocommerce-order-received .dogsland-woo,
.woocommerce-order .dogsland-woo {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 48px 40px 80px !important;
}

/* Success header */
.woocommerce-order-received .dogsland-woo h1,
.woocommerce-order .entry-title {
  font-family: 'Cormorant', serif !important;
  font-size: 2.5rem !important;
  font-weight: 600 !important;
  color: #0f0d0c !important;
  margin-bottom: 28px !important;
}

/* Success notice */
.woocommerce-notice--success,
.woocommerce-thankyou-order-received {
  background: linear-gradient(135deg, #d4edda, #c3e6cb) !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #155724 !important;
  margin-bottom: 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.woocommerce-notice--success::before {
  content: '✅' !important;
  font-size: 20px !important;
}

/* Order details summary */
.woocommerce-order-overview {
  background: #fff !important;
  border-radius: 14px !important;
  padding: 24px 28px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
  margin-bottom: 32px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  list-style: none !important;
  padding-left: 28px !important;
}
.woocommerce-order-overview li {
  flex: 1 !important;
  min-width: 160px !important;
  padding: 12px 16px !important;
  border-right: 1px solid #f0ebe4 !important;
  border-bottom: none !important;
}
.woocommerce-order-overview li:last-child { border-right: none !important; }
.woocommerce-order-overview li strong { display: block !important; font-size: 11px !important; text-transform: uppercase !important; letter-spacing: 1px !important; color: #9a8f88 !important; font-weight: 600 !important; margin-bottom: 4px !important; }
.woocommerce-order-overview li span,
.woocommerce-order-overview li .woocommerce-Price-amount { font-size: 14px !important; font-weight: 600 !important; color: #0f0d0c !important; }
.woocommerce-order-overview .woocommerce-order-overview__total .woocommerce-Price-amount { color: #fa3c7f !important; font-size: 16px !important; }

/* Order details table */
.woocommerce-order-details,
.woocommerce-customer-details {
  background: #fff !important;
  border-radius: 14px !important;
  padding: 24px 28px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
  margin-bottom: 24px !important;
}
.woocommerce-order-details h2,
.woocommerce-customer-details h2,
.woocommerce-column__title {
  font-family: 'Cormorant', serif !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  color: #0f0d0c !important;
  margin: 0 0 18px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #e0d8d2 !important;
}
.woocommerce-order-details table.woocommerce-table { width: 100% !important; border-collapse: collapse !important; }
.woocommerce-order-details table thead th { font-size: 11px !important; text-transform: uppercase !important; letter-spacing: 1px !important; color: #9a8f88 !important; padding: 0 0 12px !important; border-bottom: 1px solid #e0d8d2 !important; font-weight: 600 !important; }
.woocommerce-order-details table tbody tr { border-bottom: 1px solid #f0ebe4 !important; }
.woocommerce-order-details table tbody td { padding: 12px 0 !important; font-size: 14px !important; }
.woocommerce-order-details table tbody .product-total { text-align: right !important; font-weight: 600 !important; color: #fa3c7f !important; }
.woocommerce-order-details table tbody .product-total .woocommerce-Price-amount { color: #fa3c7f !important; }
.woocommerce-order-details table tfoot th { font-size: 13px !important; color: #555 !important; padding: 8px 0 !important; border: none !important; font-weight: 500 !important; }
.woocommerce-order-details table tfoot td { text-align: right !important; padding: 8px 0 !important; border: none !important; font-size: 13px !important; }
.woocommerce-order-details table tfoot .order-total th,
.woocommerce-order-details table tfoot .order-total td { font-size: 16px !important; font-weight: 700 !important; border-top: 2px solid #e0d8d2 !important; padding-top: 14px !important; }
.woocommerce-order-details table tfoot .order-total td .woocommerce-Price-amount { color: #fa3c7f !important; font-size: 18px !important; }

/* Customer address columns */
.woocommerce-customer-details .woocommerce-columns { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 24px !important; }
.woocommerce-customer-details address { font-style: normal !important; font-size: 14px !important; line-height: 1.8 !important; color: #444 !important; }
.woocommerce-column__title { font-family: 'Cormorant', serif !important; }

/* Continue shopping button */
.woocommerce-order .woocommerce-MyAccount-navigation,
.woocommerce-order .return-to-shop { margin-top: 24px !important; }
.woocommerce-order .woocommerce-button,
.woocommerce-order a.button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #fa3c7f !important;
  color: #fff !important;
  border-radius: 10px !important;
  padding: 12px 28px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  font-family: 'DM Sans', sans-serif !important;
  transition: background .15s !important;
  border: none !important;
}
.woocommerce-order a.button:hover { background: #d42d68 !important; }

@media(max-width: 600px) {
  .woocommerce-order-received .dogsland-woo { padding: 32px 20px 60px !important; }
  .woocommerce-order-overview { flex-direction: column !important; }
  .woocommerce-order-overview li { border-right: none !important; border-bottom: 1px solid #f0ebe4 !important; }
  .woocommerce-customer-details .woocommerce-columns { grid-template-columns: 1fr !important; }
}

/* ══ CART PAGE — EMPTY & FULL ════════════════════ */

/* Empty cart */
.woocommerce-cart .dogsland-woo .cart-empty {
  text-align: center !important;
  padding: 80px 20px !important;
  font-size: 16px !important;
  color: #9a8f88 !important;
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
  margin: 0 !important;
}
.woocommerce-cart .dogsland-woo .cart-empty::before {
  content: '🛒' !important;
  font-size: 48px !important;
  display: block !important;
  margin-bottom: 16px !important;
}
.woocommerce-cart .dogsland-woo .woocommerce-info {
  background: #f0f9ff !important;
  border-left: 3px solid #17a2b8 !important;
  border-radius: 8px !important;
  padding: 16px 20px !important;
  font-size: 14px !important;
  color: #0f0d0c !important;
  text-align: center !important;
}
.woocommerce-cart .dogsland-woo .return-to-shop {
  text-align: center !important;
  margin-top: 24px !important;
}
.woocommerce-cart .dogsland-woo .return-to-shop a,
.woocommerce-cart .dogsland-woo a.button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #fa3c7f !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 12px 28px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  font-family: 'DM Sans', sans-serif !important;
  transition: background .15s !important;
}
.woocommerce-cart .dogsland-woo .return-to-shop a:hover { background: #d42d68 !important; }

/* Full cart - proper two-column layout */

@media(max-width: 900px) {
  .woocommerce-cart .dogsland-woo .woocommerce { grid-template-columns: 1fr !important; }
}

/* Cart title */
.woocommerce-cart .dogsland-woo h1.dl-page-title {
  grid-column: 1 / -1 !important;
  font-family: 'Cormorant', serif !important;
  font-size: 2.5rem !important;
  font-weight: 600 !important;
  color: #0f0d0c !important;
  margin-bottom: 8px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #e0d8d2 !important;
}

/* Cart form (left) */
.woocommerce-cart .dogsland-woo .woocommerce-cart-form {
  background: #fff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
}
.woocommerce-cart .dogsland-woo .product-thumbnail { width: 90px !important; }
.woocommerce-cart .dogsland-woo .product-thumbnail img { width: 72px !important; height: 72px !important; object-fit: cover !important; border-radius: 10px !important; }
.woocommerce-cart .dogsland-woo .product-name a { font-weight: 600 !important; font-size: 15px !important; color: #0f0d0c !important; text-decoration: none !important; }
.woocommerce-cart .dogsland-woo .product-name a:hover { color: #fa3c7f !important; }
.woocommerce-cart .dogsland-woo .product-price bdi,
.woocommerce-cart .dogsland-woo .product-subtotal bdi { color: #fa3c7f !important; font-weight: 600 !important; }
.woocommerce-cart .dogsland-woo .product-quantity .qty { width: 60px !important; height: 40px !important; border: 1.5px solid #e0d8d2 !important; border-radius: 8px !important; text-align: center !important; font-size: 14px !important; font-family: 'DM Sans', sans-serif !important; }
.woocommerce-cart .dogsland-woo .product-remove a { display: flex !important; align-items: center !important; justify-content: center !important; width: 28px !important; height: 28px !important; border-radius: 50% !important; background: #f0ebe4 !important; color: #9a8f88 !important; font-size: 16px !important; text-decoration: none !important; transition: all .15s !important; }
.woocommerce-cart .dogsland-woo .product-remove a:hover { background: #fa3c7f !important; color: #fff !important; }
/* Actions row */
.woocommerce-cart .dogsland-woo td.actions { background: #f9f6f2 !important; padding: 16px 20px !important; border-top: 1px solid #e0d8d2 !important; }
.woocommerce-cart .dogsland-woo .coupon { display: flex !important; gap: 8px !important; }
.woocommerce-cart .dogsland-woo .coupon #coupon_code { padding: 10px 14px !important; border: 1.5px solid #e0d8d2 !important; border-radius: 8px !important; font-size: 13px !important; font-family: 'DM Sans', sans-serif !important; }
.woocommerce-cart .dogsland-woo .coupon .button { background: #0f0d0c !important; color: #fff !important; border: none !important; border-radius: 8px !important; padding: 10px 18px !important; font-size: 13px !important; font-weight: 500 !important; cursor: pointer !important; }
.woocommerce-cart .dogsland-woo button[name="update_cart"] { float: right !important; background: transparent !important; color: #9a8f88 !important; border: 1.5px solid #e0d8d2 !important; border-radius: 8px !important; padding: 10px 18px !important; font-size: 13px !important; cursor: pointer !important; }

/* Cart totals (right) */
.woocommerce-cart .dogsland-woo .cart-collaterals { display: block !important; }
.woocommerce-cart .dogsland-woo .cart_totals { background: #fff !important; border-radius: 16px !important; padding: 24px !important; box-shadow: 0 2px 16px rgba(0,0,0,.06) !important; position: sticky !important; top: 90px !important; }
.woocommerce-cart .dogsland-woo .cart_totals h2 { font-family: 'Cormorant', serif !important; font-size: 1.4rem !important; font-weight: 600 !important; color: #0f0d0c !important; margin-bottom: 20px !important; padding-bottom: 14px !important; border-bottom: 1px solid #e0d8d2 !important; }
.woocommerce-cart .dogsland-woo .cart_totals table { width: 100% !important; border-collapse: collapse !important; }
.woocommerce-cart .dogsland-woo .cart_totals table th { font-size: 13px !important; font-weight: 600 !important; color: #555 !important; padding: 10px 0 !important; border-bottom: 1px solid #f0ebe4 !important; vertical-align: top !important; }
.woocommerce-cart .dogsland-woo .cart_totals table td { padding: 10px 0 !important; text-align: right !important; border-bottom: 1px solid #f0ebe4 !important; font-size: 14px !important; }
.woocommerce-cart .dogsland-woo .cart_totals .order-total th,
.woocommerce-cart .dogsland-woo .cart_totals .order-total td { font-size: 16px !important; font-weight: 700 !important; border: none !important; padding-top: 16px !important; }
.woocommerce-cart .dogsland-woo .cart_totals .order-total td .woocommerce-Price-amount { color: #fa3c7f !important; font-size: 18px !important; }
/* Checkout button */
.woocommerce-cart .dogsland-woo .wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: linear-gradient(135deg, #fa3c7f, #d42d68) !important;
  color: #fff !important;
  border-radius: 12px !important;
  padding: 16px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  margin-top: 20px !important;
  box-shadow: 0 4px 16px rgba(250,60,127,.3) !important;
  transition: all .2s !important;
  font-family: 'DM Sans', sans-serif !important;
}
.woocommerce-cart .dogsland-woo .wc-proceed-to-checkout a.checkout-button::before { content: '💳' !important; font-size: 16px !important; }
.woocommerce-cart .dogsland-woo .wc-proceed-to-checkout a.checkout-button:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 24px rgba(250,60,127,.4) !important; }

/* ══ ADD TO CART BUTTON — GUARANTEED VISIBLE ════ */
.dl-cart-form form.cart,
.woocommerce div.product form.cart,
form.cart {
  display: block !important;
  margin: 20px 0 !important;
}
.dl-cart-form .single_add_to_cart_button,
.woocommerce div.product .single_add_to_cart_button,
.woocommerce div.product form.cart button,
button.single_add_to_cart_button {
  display: block !important;
  width: 100% !important;
  background: linear-gradient(135deg, #fa3c7f 0%, #d42d68 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 16px 32px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  font-family: 'DM Sans', sans-serif !important;
  cursor: pointer !important;
  letter-spacing: .5px !important;
  box-shadow: 0 4px 20px rgba(250,60,127,.35) !important;
  transition: all .2s !important;
  text-transform: uppercase !important;
  margin-top: 8px !important;
}
.dl-cart-form .single_add_to_cart_button:hover,
button.single_add_to_cart_button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 28px rgba(250,60,127,.45) !important;
}
/* [removed duplicate - see dl-product-form section] */
/* Variable product */
.woocommerce div.product .variations_form .variations {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 10px !important;
  margin-bottom: 16px !important;
}
.woocommerce div.product .variations_form .variations td.label label {
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #555 !important;
}
.woocommerce div.product .variations_form .variations select {
  width: 100% !important;
  padding: 10px 40px 10px 14px !important;
  border: 1.5px solid #e0d8d2 !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-family: 'DM Sans', sans-serif !important;
  background: #fff !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.woocommerce div.product .variations_form .variations select:focus {
  border-color: #fa3c7f !important;
  outline: none !important;
}

/* ══ CHECKOUT — FORCE STYLING ════════════════════ */
/* Override any WooCommerce default styles */

/* The main checkout wrapper */

/* TWO-COLUMN GRID */
@media(max-width: 900px) {
}

/* Left column - billing form */

/* Right column - order review + payment */

/* Form fields */

/* Order table */

/* Payment section */

/* PLACE ORDER BUTTON */

/* Coupon box */

/* Section headings */

@media(max-width: 600px) {

/* ══ FULL WIDTH — CART & CHECKOUT ════════════════ */

/* Make the dogsland-woo wrapper use full width */
.dogsland-woo {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

/* Cart page full width */



/* Checkout page full width */

/* Fix cart: product image column not disappearing */

/* Cart totals sticky sidebar */
.woocommerce-cart .dogsland-woo .cart-collaterals {
  width: 100% !important;
}
.woocommerce-cart .dogsland-woo .cart_totals {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Mobile responsive */
@media(max-width: 900px) {
  
  .woocommerce-cart .dogsland-woo .woocommerce { grid-template-columns: 1fr !important; }
}

/* ══ WARENKORB — KOMPLETT NEU ════════════════════ */
.dl-cart-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 40px 80px;
  font-family: 'DM Sans', sans-serif;
}

/* Leer */
.dl-cart-empty {
  text-align: center;
  padding: 80px 20px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 2px 20px rgba(0,0,0,.06);
}
.dl-cart-empty-icon { font-size: 64px; margin-bottom: 20px; }
.dl-cart-empty h2 {
  font-family: 'Cormorant', serif;
  font-size: 2rem;
  font-weight: 600;
  color: #0f0d0c;
  margin-bottom: 10px;
}
.dl-cart-empty p { color: #9a8f88; font-size: 15px; margin-bottom: 28px; }

/* Header */
.dl-cart-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 32px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e0d8d2;
}
.dl-cart-header h1 {
  font-family: 'Cormorant', serif !important;
  font-size: 2.6rem !important;
  font-weight: 600 !important;
  color: #0f0d0c !important;
  margin: 0 !important;
}
.dl-cart-count-label {
  background: #f0ebe4;
  color: #9a8f88;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 20px;
  letter-spacing: .5px;
}

/* Grid */
.dl-cart-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 32px;
  align-items: start;
}
@media(max-width: 900px) {
  .dl-cart-grid { grid-template-columns: 1fr; }
  .dl-cart-page { padding: 32px 20px 60px; }
}

/* Cart items card */
.dl-cart-items {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0,0,0,.06);
}

/* Each cart item */
.dl-cart-item {
  display: grid;
  grid-template-columns: 88px 1fr 100px 100px 40px;
  gap: 16px;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #f0ebe4;
  transition: background .1s;
}
.dl-cart-item:last-of-type { border-bottom: none; }
.dl-cart-item:hover { background: #fdfcfb; }

/* Product image */
.dl-cart-item-img {
  width: 88px;
  height: 88px;
  border-radius: 10px;
  overflow: hidden;
  background: #f0ebe4;
  flex-shrink: 0;
}
.dl-cart-item-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.dl-cart-item-img a { display: block; width: 100%; height: 100%; }

/* Product name */
.dl-cart-item-name a,
.dl-cart-item-name {
  font-weight: 600;
  font-size: 14px;
  color: #0f0d0c;
  text-decoration: none;
  line-height: 1.4;
  margin-bottom: 6px;
  display: block;
}
.dl-cart-item-name a:hover { color: #fa3c7f; }

/* Meta (konfigurator details) */
.dl-cart-item-meta {
  font-size: 11px !important;
  color: #9a8f88 !important;
  line-height: 1.6 !important;
  margin-top: 4px !important;
}
.dl-cart-item-meta dl { margin: 0 !important; }
.dl-cart-item-meta dt,
.dl-cart-item-meta dd {
  display: inline !important;
  font-size: 11px !important;
  color: #9a8f88 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
.dl-cart-item-meta dt::after { content: ': '; }
.dl-cart-item-meta dd::after { content: ' · '; }
.dl-cart-item-meta dd:last-child::after { content: ''; }

/* Quantity */
.dl-cart-item-qty .quantity input {
  width: 64px !important;
  height: 40px !important;
  border: 1.5px solid #e0d8d2 !important;
  border-radius: 8px !important;
  text-align: center !important;
  font-size: 14px !important;
  font-family: 'DM Sans', sans-serif !important;
  background: #fafaf8 !important;
}
.dl-cart-item-qty .quantity input:focus {
  border-color: #fa3c7f !important;
  outline: none !important;
}

/* Subtotal */
.dl-cart-item-subtotal {
  text-align: right;
  font-weight: 700;
  font-size: 15px;
  color: #fa3c7f !important;
}
.dl-cart-item-subtotal .woocommerce-Price-amount { color: #fa3c7f !important; }

/* Remove */
.dl-remove-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: #f0ebe4 !important;
  color: #9a8f88 !important;
  font-size: 18px !important;
  text-decoration: none !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  transition: all .15s !important;
}
.dl-remove-btn:hover {
  background: #fa3c7f !important;
  color: #fff !important;
  transform: scale(1.1) !important;
}

/* Actions bar */
.dl-cart-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  background: #f9f6f2;
  border-top: 1px solid #e0d8d2;
  gap: 12px;
}
.dl-cart-coupon {
  display: flex;
  gap: 8px;
  flex: 1;
}
.dl-cart-coupon input {
  flex: 1;
  max-width: 220px;
  padding: 10px 14px !important;
  border: 1.5px solid #e0d8d2 !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-family: 'DM Sans', sans-serif !important;
  background: #fff !important;
}
.dl-cart-coupon input:focus {
  border-color: #fa3c7f !important;
  outline: none !important;
}
.dl-btn-outline {
  background: #0f0d0c !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  font-family: 'DM Sans', sans-serif !important;
  transition: background .15s !important;
}
.dl-btn-outline:hover { background: #2a2a2a !important; }
.dl-btn-ghost {
  background: transparent !important;
  color: #9a8f88 !important;
  border: 1.5px solid #e0d8d2 !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  font-size: 13px !important;
  cursor: pointer !important;
  font-family: 'DM Sans', sans-serif !important;
  transition: all .15s !important;
}
.dl-btn-ghost:hover { border-color: #9a8f88 !important; color: #555 !important; }

/* Sidebar: Cart Totals */
.dl-cart-sidebar .cart_totals {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 28px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
  position: sticky !important;
  top: 90px !important;
}
.dl-cart-sidebar .cart_totals h2 {
  font-family: 'Cormorant', serif !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: #0f0d0c !important;
  margin: 0 0 20px !important;
  padding-bottom: 16px !important;
  border-bottom: 2px solid #e0d8d2 !important;
}
.dl-cart-sidebar .cart_totals table { width: 100% !important; border-collapse: collapse !important; }
.dl-cart-sidebar .cart_totals table tr { border-bottom: 1px solid #f0ebe4 !important; }
.dl-cart-sidebar .cart_totals table th {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #555 !important;
  padding: 12px 0 !important;
  width: 45% !important;
  vertical-align: top !important;
}
.dl-cart-sidebar .cart_totals table td {
  padding: 12px 0 !important;
  text-align: right !important;
  font-size: 14px !important;
  color: #0f0d0c !important;
}
.dl-cart-sidebar .cart_totals .order-total th,
.dl-cart-sidebar .cart_totals .order-total td {
  border: none !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  padding-top: 16px !important;
}
.dl-cart-sidebar .cart_totals .order-total td .woocommerce-Price-amount {
  color: #fa3c7f !important;
  font-size: 20px !important;
}
.dl-cart-sidebar .wc-proceed-to-checkout { margin-top: 20px !important; }
.dl-cart-sidebar .wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  background: linear-gradient(135deg, #fa3c7f, #d42d68) !important;
  color: #fff !important;
  border-radius: 12px !important;
  padding: 16px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  font-family: 'DM Sans', sans-serif !important;
  box-shadow: 0 4px 16px rgba(250,60,127,.3) !important;
  transition: all .2s !important;
  letter-spacing: .3px !important;
}
.dl-cart-sidebar .wc-proceed-to-checkout a.checkout-button::before {
  content: '🔒';
  font-size: 15px;
}
.dl-cart-sidebar .wc-proceed-to-checkout a.checkout-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 24px rgba(250,60,127,.4) !important;
}

/* Shipping methods */
.dl-cart-sidebar .cart_totals .shipping ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
}
.dl-cart-sidebar .cart_totals .shipping ul li {
  font-size: 13px !important;
  margin-bottom: 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.dl-cart-sidebar .cart_totals .shipping input[type="radio"] {
  accent-color: #fa3c7f !important;
}
.dl-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fa3c7f;
  color: #fff !important;
  border-radius: 10px;
  padding: 14px 32px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
  font-family: 'DM Sans', sans-serif;
  transition: background .15s;
}
.dl-btn-primary:hover { background: #d42d68; }

/* Mobile cart item */
.dl-cart-item-price-mobile { display: none; }
@media(max-width: 700px) {
  .dl-cart-item {
    grid-template-columns: 72px 1fr 40px;
    grid-template-rows: auto auto;
  }
  .dl-cart-item-qty { grid-column: 2; }
  .dl-cart-item-subtotal { display: none; }
  .dl-cart-item-price-mobile {
    display: block;
    font-weight: 700;
    color: #fa3c7f;
    font-size: 14px;
    margin-top: 4px;
  }
}

/* ══ WARENKORB — FINAL CLEAN VERSION ════════════ */
body.woocommerce-cart { background: #f9f6f2 !important; }
body.woocommerce-cart .dogsland-woo { padding: 0 !important; }
body.woocommerce-cart .dogsland-woo .woocommerce { display: block !important; }

/* Override default WooCommerce cart table completely */
/* cart form visible */

/* Our custom dl-cart-page */
.dl-cart-page {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 48px 80px 80px !important;
}
.dl-cart-grid {
  display: grid !important;
  grid-template-columns: 1fr 360px !important;
  gap: 36px !important;
  align-items: start !important;
}


/* ══ KASSE — FINAL CLEAN VERSION ════════════════ */

/* ══ BESTELLBESTÄTIGUNG — FINAL ═════════════════ */
body.woocommerce-order-received { background: #f9f6f2 !important; }
body.woocommerce-order-received .dogsland-woo {
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: 48px 40px 80px !important;
}
body.woocommerce-order-received .dogsland-woo h1 {
  font-family: 'Cormorant', serif !important;
  font-size: 2.4rem !important;
  font-weight: 600 !important;
  margin-bottom: 28px !important;
}
/* Success box */
body.woocommerce-order-received .woocommerce-notice--success {
  background: #d4edda !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  color: #155724 !important;
  font-size: 15px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 32px !important;
}
body.woocommerce-order-received .woocommerce-notice--success::before {
  content: '✅' !important;
  font-size: 20px !important;
}
/* Order overview */
body.woocommerce-order-received .woocommerce-order-overview {
  background: #fff !important;
  border-radius: 14px !important;
  padding: 24px 28px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  list-style: none !important;
  margin-bottom: 28px !important;
}
body.woocommerce-order-received .woocommerce-order-overview li {
  flex: 1 !important;
  min-width: 130px !important;
  padding: 12px 16px !important;
  border-right: 1px solid #f0ebe4 !important;
}
body.woocommerce-order-received .woocommerce-order-overview li:last-child { border: none !important; }
body.woocommerce-order-received .woocommerce-order-overview li strong {
  display: block !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  color: #9a8f88 !important;
  font-weight: 600 !important;
  margin-bottom: 4px !important;
}
/* Bank details, Order details, Address */
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received section.woocommerce-bacs-bank-details {
  background: #fff !important;
  border-radius: 14px !important;
  padding: 24px 28px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
  margin-bottom: 24px !important;
}
body.woocommerce-order-received h2 {
  font-family: 'Cormorant', serif !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  color: #0f0d0c !important;
  margin: 0 0 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #e0d8d2 !important;
}
body.woocommerce-order-received table.woocommerce-table thead th {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  color: #9a8f88 !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid #e0d8d2 !important;
}
body.woocommerce-order-received table.woocommerce-table td {
  padding: 10px 0 !important;
  border-bottom: 1px solid #f0ebe4 !important;
  font-size: 14px !important;
}
body.woocommerce-order-received table.woocommerce-table tfoot th,
body.woocommerce-order-received table.woocommerce-table tfoot td {
  padding: 8px 0 !important;
  border: none !important;
  font-size: 13px !important;
}
body.woocommerce-order-received .woocommerce-Price-amount { color: #fa3c7f !important; }
body.woocommerce-order-received .woocommerce-order-details__total td .woocommerce-Price-amount {
  font-size: 18px !important;
  font-weight: 700 !important;
}
/* Customer columns */
body.woocommerce-order-received .woocommerce-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
}
body.woocommerce-order-received address {
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

@media(max-width: 900px) {
  .dl-cart-page { padding: 32px 20px 60px !important; }
  .dl-cart-grid { grid-template-columns: 1fr !important; }
  body.woocommerce-order-received .woocommerce-columns { grid-template-columns: 1fr !important; }
}

/* ══ CART & CHECKOUT FINAL POSITION FIX ═════════ */

/* Remove the empty left space - align everything left */

/* Cart grid: fill full width */
.dl-cart-page {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: none !important;
  width: 100% !important;
}
.dl-cart-grid {
  grid-template-columns: 1fr 380px !important;
  width: 100% !important;
}
.dl-cart-items {
  min-width: 0 !important;
  width: 100% !important;
}
/* Cart header full width */
.dl-cart-header {
  width: 100% !important;
  margin-bottom: 28px !important;
}

/* Checkout form fills full width */

/* ══ KASSE — FINAL DEFINITIVE DESIGN ════════════ */

/* Coupon */

/* THE GRID */

/* Form card */
.dl-form-card {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 32px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
}

/* Field labels */
.dl-form-card .form-row label,
.dl-form-card .form-row .required,
/* Inputs */
.dl-form-card input[type="text"],
.dl-form-card input[type="email"],
.dl-form-card input[type="tel"],
.dl-form-card select,
.dl-form-card textarea,
.dl-form-card input:focus,
.dl-form-card select:focus,
.dl-form-card textarea:focus,

/* Section headings */
.dl-form-card h3 {
  font-family: 'Cormorant', serif !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  color: #0f0d0c !important;
  margin: 0 0 24px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #e0d8d2 !important;
}

/* Order card (right) */
.dl-order-card {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 28px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
  position: sticky !important;
  top: 90px !important;
}
.dl-order-title {
  font-family: 'Cormorant', serif !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  color: #0f0d0c !important;
  margin: 0 0 20px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #e0d8d2 !important;
}

/* Order table */

/* Payment */

/* Place order button */

/* Privacy text */

/* Product meta (konfig details) */
.dl-order-card .wc-item-meta,
.dl-order-card dl.variation {
  font-size: 11px !important;
  color: #9a8f88 !important;
  margin-top: 4px !important;
}
.dl-order-card .product-quantity {
  font-size: 12px !important;
  color: #9a8f88 !important;
}

@media(max-width: 900px) {

/* ══ SHOP PAGE — PADDING & GRID FIX ═════════════ */

/* Main shop wrapper */
.dogsland-woo {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 48px 60px 80px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Product grid */
.woocommerce ul.products,
.dogsland-woo ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
  clear: both !important;
}
.woocommerce ul.products::after { display: none !important; }

/* Product card */
.woocommerce ul.products li.product,
.dogsland-woo ul.products li.product {
  background: #fff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  transition: transform .2s, box-shadow .2s !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
  display: flex !important;
  flex-direction: column !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;
}

/* Product image */
.woocommerce ul.products li.product a img,
.dogsland-woo ul.products li.product a img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

/* Product info area */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.dogsland-woo ul.products li.product h2 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #0f0d0c !important;
  padding: 14px 16px 4px !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* Price — REMOVE THE GAP */
.woocommerce ul.products li.product .price,
.dogsland-woo ul.products li.product .price {
  display: block !important;
  padding: 0 16px 8px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #fa3c7f !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
  display: inline !important;
  color: #fa3c7f !important;
}
.woocommerce ul.products li.product .price bdi,
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  display: inline !important;
  color: #fa3c7f !important;
  white-space: nowrap !important;
}
/* Remove the separator dash between CHF and amount */
.woocommerce ul.products li.product .price .woocommerce-Price-amount + * { display: none !important; }

/* MwSt label */
.woocommerce ul.products li.product .price .woocommerce-price-suffix {
  font-size: 11px !important;
  color: #9a8f88 !important;
  font-weight: 400 !important;
  display: inline !important;
  margin-left: 3px !important;
}

/* Add to cart button */
.woocommerce ul.products li.product .button,
.dogsland-woo ul.products li.product .button {
  display: block !important;
  width: calc(100% - 32px) !important;
  margin: 4px 16px 16px !important;
  background: #0f0d0c !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 11px 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  font-family: 'DM Sans', sans-serif !important;
  text-align: center !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background .15s !important;
  box-sizing: border-box !important;
}
.woocommerce ul.products li.product .button:hover {
  background: #fa3c7f !important;
}
/* "Details ansehen" same style but outline */
.woocommerce ul.products li.product .button.product_type_variable,
.woocommerce ul.products li.product a.button:not(.add_to_cart_button) {
  background: transparent !important;
  color: #fa3c7f !important;
  border: 1.5px solid #fa3c7f !important;
}
.woocommerce ul.products li.product .button.product_type_variable:hover {
  background: #fa3c7f !important;
  color: #fff !important;
}

/* Hide "Warenkorb anzeigen" after adding */
.added_to_cart { display: none !important; }

/* Result count & ordering */
.woocommerce-result-count { font-size: 13px !important; color: #9a8f88 !important; }

/* Category filter spacing */
.dl-shop-cats {
  padding: 16px 60px !important;
  border-bottom: 1px solid #e0d8d2 !important;
  background: #fff !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

@media(max-width: 900px) {
  .dogsland-woo { padding: 32px 20px 60px !important; }
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
  .dl-shop-cats { padding: 12px 20px !important; }
}
@media(max-width: 500px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
}

/* ══ DUNKLE BEREICHE — WEISSE SCHRIFT ════════════ */

/* Header / Nav */
.site-header, .dl-nav, header.dl-nav,
nav.dl-nav, .nav-inner {
  color: #fff !important;
}
.dl-nav a, .dl-nav .nav-link,
.site-header a { color: rgba(255,255,255,.85) !important; }
.dl-nav a:hover { color: #fff !important; }

/* Ticker / Announcement bar */
.dl-ticker, .dl-ticker *,
[class*="ticker"], [class*="announce"] {
  color: #fff !important;
}

/* Footer */
footer, .site-footer, #site-footer,
.dl-footer, [class*="footer"] {
  color: rgba(255,255,255,.75) !important;
}
footer h3, footer h4, .site-footer h3, .site-footer h4,
.dl-footer h3, .dl-footer h4 {
  color: #fff !important;
}
footer a, .site-footer a, .dl-footer a {
  color: rgba(255,255,255,.65) !important;
}
footer a:hover, .site-footer a:hover, .dl-footer a:hover {
  color: #fa3c7f !important;
}
footer p, .site-footer p, .dl-footer p {
  color: rgba(255,255,255,.55) !important;
}


/* removed */
#konfig h2, #konfig h3, #konfig p,
#konfig .kapp-title, #konfig .kapp-sub {
  color: #fff !important;
}
/* removed */


/* removed */


section[style*="background:#0"],
div[style*="background:#0"],
div[style*="background: #0"] {
  color: #fff !important;
}
/* removed */

/* Category filter tabs */
.dl-shop-cats .dl-shop-cat {
  color: #555 !important;
}
.dl-shop-cats .dl-shop-cat.active,
.dl-shop-cats .dl-shop-cat:hover {
  color: #fff !important;
}

/* ══ WEISSE SCHRIFT — GEZIELT ════════════════════ */

/* Footer */
.dl-footer { color: rgba(255,255,255,.7) !important; }
.dl-footer h3, .dl-footer h4,
.dl-footer .footer-col-title { color: #fff !important; }
.dl-footer a { color: rgba(255,255,255,.6) !important; }
.dl-footer a:hover { color: #fa3c7f !important; }
.dl-footer p { color: rgba(255,255,255,.5) !important; }
.dl-footer .footer-brand-name { color: #fff !important; }
.dl-footer .footer-tagline { color: rgba(255,255,255,.5) !important; }

/* Ticker / Announcement bar */
.dl-ticker { color: rgba(255,255,255,.7) !important; }
.dl-ticker a, .dl-ticker strong { color: #fa3c7f !important; }

/* Konfigurator — nur spezifische Elemente */
#konfig .kapp-label,
#konfig .kapp-eyebrow,
#konfig h2,
#konfig > div > div > h2,
#konfig > div > p {
  color: #fff !important;
}
/* Tab-Navigation im Konfig */
#konfig .k-tab { color: rgba(255,255,255,.5) !important; }
#konfig .k-tab.on,
#konfig .k-tab.dn { color: #fff !important; }
/* Progress bar label */
#konfig .kapp-step-label { color: rgba(255,255,255,.6) !important; }

/* Nav links sicherstellen */
.dl-nav .nav-link { color: rgba(255,255,255,.85) !important; }
.dl-nav .nav-link:hover { color: #fff !important; }

/* ══ KASSE — CSS AUF STANDARD WC HTML ═══════════ */
/* WooCommerce Standard: form.woocommerce-checkout

/* dl-woo-full wrapper */

/* Kasse Titel */

/* Coupon Banner */

/* DAS HAUPTGRID — form als 2-Spalten-Layout */

/* Billing form — linke Spalte, beide Zeilen */

/* Order review heading — rechts oben */

/* Order review — rechts */

/* Heading inside order review */

/* Form fields */

/* Order review table */

/* Payment */
@media(max-width: 900px) {
}

/* ══ KASSE — VOLLE BREITE FIX ═══════════════════ */

/* Entferne alle Breitenbeschränkungen */

/* Das Grid VOLLE BREITE mit gleichmässigen Spalten */

/* Beide Karten gleich gross */


@media(max-width: 900px) {
}

/* ══ KASSE ELEMENTOR OVERRIDE ════════════════════ */
/* Elementor wraps content - we need to break out */
/* Force form to take full width */

/* ══ SHOP PRODUKTKARTE — PROFESSIONELL ═══════════ */

/* Karte gesamt */
.woocommerce ul.products li.product {
  background: #fff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.07) !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform .2s, box-shadow .2s !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.12) !important;
}

/* Bild */
.woocommerce ul.products li.product a img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

/* Info-Bereich */
.woocommerce ul.products li.product .dl-product-info,
.woocommerce ul.products li.product > a + *,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
  padding: 14px 18px 0 !important;
  margin: 0 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #0f0d0c !important;
  line-height: 1.4 !important;
  flex-grow: 1 !important;
}

/* Preis */
.woocommerce ul.products li.product .price {
  display: block !important;
  padding: 6px 18px 10px !important;
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #fa3c7f !important;
  font-family: 'DM Sans', sans-serif !important;
  letter-spacing: -.3px !important;
}
.woocommerce ul.products li.product .price bdi { color: #fa3c7f !important; }
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol { color: #fa3c7f !important; }
/* MwSt */
.woocommerce ul.products li.product .price small,
.woocommerce ul.products li.product .price .woocommerce-price-suffix {
  font-size: 11px !important;
  color: #b0a89f !important;
  font-weight: 400 !important;
}

/* Trennlinie vor Button */
.woocommerce ul.products li.product .button {
  display: block !important;
  margin: 0 18px 18px !important;
  width: calc(100% - 36px) !important;
  background: #0f0d0c !important;
  color: #fff !important;
  border: none !important;
  border-radius: 9px !important;
  padding: 11px 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  font-family: 'DM Sans', sans-serif !important;
  text-align: center !important;
  letter-spacing: .3px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background .15s, transform .15s !important;
  box-sizing: border-box !important;
}
.woocommerce ul.products li.product .button:hover {
  background: #fa3c7f !important;
  transform: none !important;
}
/* "Details ansehen" / variable products */
.woocommerce ul.products li.product .product_type_variable,
.woocommerce ul.products li.product a.button:not(.add_to_cart_button) {
  background: transparent !important;
  color: #fa3c7f !important;
  border: 1.5px solid #fa3c7f !important;
}
.woocommerce ul.products li.product .product_type_variable:hover,
.woocommerce ul.products li.product a.button:not(.add_to_cart_button):hover {
  background: #fa3c7f !important;
  color: #fff !important;
}

/* Hide "Warenkorb anzeigen" link */
.woocommerce ul.products li.product .added_to_cart { display: none !important; }

/* ══ SHOP — PCARD STIL (wie Bestseller) ══════════ */
.woocommerce ul.products li.product {
  background: #fff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
  transition: transform .22s, box-shadow .22s !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 36px rgba(0,0,0,.13) !important;
}

/* Bild: quadratisch wie pcard */
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
  background: #f9f6f2 !important;
  aspect-ratio: 1 !important;
  flex-shrink: 0 !important;
}
.woocommerce ul.products li.product a img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .35s !important;
  border-radius: 0 !important;
}
.woocommerce ul.products li.product:hover a img {
  transform: scale(1.06) !important;
}

/* Body: padding wie pcard-body */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  padding: 16px 18px 0 !important;
  margin: 0 0 6px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #0f0d0c !important;
  line-height: 1.3 !important;
  font-family: 'DM Sans', sans-serif !important;
}

/* Preis wie pcard-price */
.woocommerce ul.products li.product .price {
  padding: 0 18px 14px !important;
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #fa3c7f !important;
  display: block !important;
  font-family: 'DM Sans', sans-serif !important;
}
.woocommerce ul.products li.product .price bdi,
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  color: #fa3c7f !important;
  display: inline !important;
}
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
  color: #fa3c7f !important;
}
.woocommerce ul.products li.product .price small {
  font-size: 11px !important;
  color: #b0a89f !important;
  font-weight: 400 !important;
}

/* Button wie pcard-btn */
.woocommerce ul.products li.product .button {
  display: block !important;
  background: #0f0d0c !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 9px 18px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  text-align: center !important;
  font-family: 'DM Sans', sans-serif !important;
  margin: auto 18px 18px !important;
  border: none !important;
  cursor: pointer !important;
  transition: background .15s !important;
  letter-spacing: .3px !important;
  width: calc(100% - 36px) !important;
  box-sizing: border-box !important;
}
.woocommerce ul.products li.product .button:hover {
  background: #fa3c7f !important;
}
/* Variable / "Details" */
.woocommerce ul.products li.product .product_type_variable,
.woocommerce ul.products li.product a.button:not(.add_to_cart_button) {
  background: transparent !important;
  color: #fa3c7f !important;
  border: 1.5px solid #fa3c7f !important;
}
.woocommerce ul.products li.product .product_type_variable:hover {
  background: #fa3c7f !important;
  color: #fff !important;
}
.woocommerce ul.products li.product .added_to_cart { display: none !important; }

/* ══ SHOP KARTEN — LETZTER FIX ═══════════════════ */

/* 1. Produktname NICHT unterstrichen */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product a.woocommerce-loop-product__link h2 {
  text-decoration: none !important;
  -webkit-text-decoration: none !important;
}
.woocommerce ul.products li.product a {
  text-decoration: none !important;
}

/* 2. Kein Leerraum zwischen Preis und Button */
.woocommerce ul.products li.product {
  display: grid !important;
  grid-template-rows: auto 1fr auto auto !important;
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  grid-row: 1 !important;
  aspect-ratio: 1 !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  grid-row: 2 !important;
}
.woocommerce ul.products li.product .price {
  grid-row: 3 !important;
  padding-bottom: 4px !important;
  margin-bottom: 0 !important;
}
.woocommerce ul.products li.product .button {
  grid-row: 4 !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

/* 3. Preis ohne Lücke — CHF direkt vor Betrag */
.woocommerce ul.products li.product .price {
  white-space: nowrap !important;
}
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
}
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
  margin-right: 2px !important;
}

/* 4. MwSt Label ausblenden im Shop-Grid */
.woocommerce ul.products li.product .price .woocommerce-price-suffix {
  display: none !important;
}

/* ══ SHOP KARTE — LEERRAUM NUCLEAR FIX ══════════ */

/* Alles zwischen Preis und Button entfernen */
/* removed bad rule */

/* Karte als Flexbox, Button unten */
.woocommerce ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
}

/* Bild nimmt keine extra Höhe */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: block !important;
  flex-shrink: 0 !important;
}

/* Name direkt nach Bild */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin-top: 14px !important;
  margin-bottom: 4px !important;
  padding: 0 16px !important;
  flex-shrink: 0 !important;
}

/* Preis */
.woocommerce ul.products li.product .price {
  flex-shrink: 0 !important;
  padding: 0 16px 0 !important;
  margin-bottom: 0 !important;
}

/* Spacer — flex-grow pushes button to bottom */
.woocommerce ul.products li.product .price::after {
  content: '' !important;
  display: none !important;
}

/* Button direkt nach Preis — kein Spacer */
.woocommerce ul.products li.product .button {
  margin-top: 12px !important;
  margin-bottom: 16px !important;
  flex-shrink: 0 !important;
}

/* Fix: WC wraps add-to-cart in a form, remove its margin */
.woocommerce ul.products li.product form.cart {
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide all the empty space that WooCommerce adds */
/* removed */

/* ══ DL-SHOP-CARD — 1:1 WIE BESTSELLER PCARD ════ */

/* Grid */
.woocommerce ul.products,
.dogsland-woo ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media(max-width:900px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr)!important; } }
@media(max-width:500px){ .woocommerce ul.products{ grid-template-columns:1fr!important; } }

/* Karte */
.dl-shop-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
  box-shadow: 0 2px 16px rgba(0,0,0,.06);
  transition: transform .22s, box-shadow .22s;
  display: flex;
  flex-direction: column;
  list-style: none;
}
.dl-shop-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 36px rgba(0,0,0,.13);
}

/* Bild */
.dl-shop-card:hover 
/* Body */
.dl-card-body {
  padding: 16px 18px 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* Kategorie-Label */
.dl-card-cat {
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #fa3c7f;
  font-weight: 600;
  margin-bottom: 6px;
  font-family: 'DM Sans', sans-serif;
}

/* Produktname */
.dl-card-name {
  font-size: 15px;
  font-weight: 500;
  color: #0f0d0c;
  margin-bottom: 8px;
  line-height: 1.3;
  text-decoration: none;
  display: block;
  font-family: 'DM Sans', sans-serif;
}
.dl-card-name:hover { color: #fa3c7f; }

/* Preis */
.dl-card-price {
  font-size: 14px;
  font-weight: 600;
  color: #fa3c7f;
  margin-bottom: 14px;
  font-family: 'DM Sans', sans-serif;
}
.dl-card-price .woocommerce-Price-amount { color: #fa3c7f; }
.dl-card-price .woocommerce-price-suffix {
  font-size: 11px;
  color: #b0a89f;
  font-weight: 400;
}

/* Button */
.dl-card-btn {
  display: block;
  background: #0f0d0c;
  color: #fff !important;
  border-radius: 8px;
  padding: 9px 18px;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
  text-decoration: none !important;
  font-family: 'DM Sans', sans-serif;
  letter-spacing: .3px;
  cursor: pointer;
  border: none;
  transition: background .15s;
  margin-top: auto;
}
.dl-card-btn:hover { background: #fa3c7f !important; color: #fff !important; }
.dl-card-btn.product_type_variable {
  background: transparent;
  color: #fa3c7f !important;
  border: 1.5px solid #fa3c7f;
}
.dl-card-btn.product_type_variable:hover {
  background: #fa3c7f !important;
  color: #fff !important;
}

/* added_to_cart link ausblenden */
.dl-shop-card .added_to_cart { display: none !important; }

/* ══ SHOP KARTE — LEERRAUM UNTER BILD ENTFERNEN ═ */
.dl-card-body {
  padding: 14px 16px 16px !important;
}

/* ══════════════════════════════════════════════════════════
   RESPONSIVE PATCH — Full Mobile / Tablet / Desktop fixes
   Added: comprehensive breakpoint coverage
   ══════════════════════════════════════════════════════════ */

/* ── Base mobile defaults ── */
@media (max-width: 480px) {
  /* Prevent any horizontal scroll */
  body { overflow-x: hidden; }

  /* Announcement bar */
  .ann { font-size: 11px; padding: 7px 14px; }

  /* Nav */
  .nav-wrap { padding: 0 16px; height: 60px; }
  .nav-logo-img { height: 36px; }
  .nav-cta { padding: 8px 14px; font-size: 12px; }

  /* Hero */
  .hero { height: 75vh; min-height: 440px; }
  .hero-c { padding: 0 5%; max-width: 100%; }
  .hero-h { font-size: clamp(36px, 9vw, 52px); }
  .hero-p { font-size: 14px; max-width: 100%; }
  .hbtn { padding: 12px 22px; font-size: 11px; }

  /* USP strip — stack vertically on very small screens */
  .usp-row { flex-direction: column; padding: 0; }
  .usp-i { border-right: none; border-bottom: 1px solid var(--rl); min-width: 0; padding: 14px 20px; }
  .usp-i:last-child { border-bottom: none; }

  /* Section heading */
  .sec-hd { flex-direction: column; align-items: flex-start; gap: 8px; }
  .sec-ht { font-size: 32px; }

  /* Category grid — single column */
  .cat-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .cbox-tall { grid-row: span 1; }

  /* Product grid */
  .p4 { grid-template-columns: 1fr !important; }
  .pgrid.p4 { grid-template-columns: 1fr !important; }

  /* Configurator */
  .kapp-tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .kapp-tab { padding: 12px 16px; font-size: 10px; }
  .kapp-layout { grid-template-columns: 1fr !important; gap: 24px !important; }
  .mat-grid { grid-template-columns: 1fr 1fr !important; }
  .sw-grid { grid-template-columns: repeat(5, 1fr) !important; }
  .sz-cards { grid-template-columns: repeat(4, 1fr) !important; }
  .fnt-grid { grid-template-columns: 1fr 1fr !important; }

  /* Story / atelier */
  .story { grid-template-columns: 1fr !important; }
  .story-img img { min-height: 280px !important; }
  .story-body { padding: 28px 20px !important; }
  .s-h { font-size: 28px !important; }
  .s-stats { flex-wrap: wrap; gap: 20px; }

  /* Testimonials */
  .testi { padding: 40px 16px !important; }
  .testi-grid { grid-template-columns: 1fr !important; }
  .testi-h { font-size: 30px !important; }

  /* Gallery */
  .insta-grid { grid-template-columns: repeat(3, 1fr) !important; }

  /* Shop header */
  .shop-hdr { height: 200px; }
  .shop-hdr-h { font-size: 36px !important; }
  .shop-hdr-content { padding: 20px 20px !important; }

  /* Shop bar */
  .shop-bar { padding: 16px 16px 0 !important; flex-direction: column; align-items: flex-start; }
  .shop-pills { flex-wrap: wrap; }

  /* Footer */
  .ft-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .ft-bot { flex-direction: column; align-items: flex-start; gap: 6px; }

  /* Newsletter */
  .nl-sec { padding: 40px 16px !important; }
  .nl-form { flex-direction: column; border-radius: 8px; }
  .nl-in { border-radius: 6px; padding: 12px 16px; }
  .nl-btn { border-radius: 6px; padding: 12px 16px; }

  /* Contact */
  .kontakt-body { grid-template-columns: 1fr !important; padding: 28px 16px 48px !important; gap: 28px !important; }

  /* Modal */
  .modal { width: 98vw !important; }
  .modal-inner { flex-direction: column !important; }
  .modal-img { min-height: 220px; flex: none !important; }
  .modal-body { padding: 20px !important; }

  /* Cart */
  .cart { width: 100vw !important; }

  /* Stripe */
  .str-modal { padding: 20px !important; }
}

/* ── Tablet range 481–768px ── */
@media (min-width: 481px) and (max-width: 768px) {
  .nav-wrap { padding: 0 20px; }

  .hero-c { padding: 0 6%; }

  .sec-ht { font-size: 36px; }

  /* Category: 2-col, no spanning */
  .cat-grid { grid-template-columns: 1fr 1fr !important; grid-template-rows: auto !important; }
  .cbox-tall { grid-row: span 1 !important; }

  /* Products: 2 col */
  .p4 { grid-template-columns: repeat(2, 1fr) !important; }

  /* Configurator layout */
  .kapp-layout { grid-template-columns: 1fr !important; gap: 28px !important; }
  .mat-grid { grid-template-columns: repeat(3, 1fr) !important; }

  /* Story */
  .story { grid-template-columns: 1fr !important; }
  .story-img img { min-height: 320px !important; }
  .story-body { padding: 32px 24px !important; }

  /* Testimonials */
  .testi-grid { grid-template-columns: 1fr 1fr !important; }

  /* Footer */
  .ft-grid { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
}

/* ── inline-style overrides: configurator steps (front-page.php) ── */
/* These override the inline styles in front-page.php's configurator */
@media (max-width: 768px) {
  /* Step layout grids with fixed 320px left column */
  [style*="grid-template-columns:320px 1fr"],
  [style*="grid-template-columns: 320px 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* Step inner grids */
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns: repeat(3,1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* 6-column color swatch grids — keep 6 cols but shrink swatches */
  [style*="grid-template-columns:repeat(6,1fr)"],
  [style*="grid-template-columns: repeat(6,1fr)"] {
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 5px !important;
  }

  /* Atelier / story section inline style */
  [id="atelier"][style*="grid-template-columns:1fr 1fr"],
  [id="atelier"][style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }

  /* Testimonials section */
  [id="testiTrack"],
  #testiTrack {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* Instagram gallery */
  [style*="grid-template-columns:repeat(6,1fr)"] {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  /* Newsletter form */
  [style*="max-width:420px"][style*="display:flex"] {
    flex-direction: column !important;
  }

  /* Contact / Kontakt body */
  [style*="grid-template-columns:1fr 1fr"][style*="gap:56px"],
  [style*="grid-template-columns: 1fr 1fr"][style*="gap: 56px"] {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  /* Inline padding reductions for kband */
  #konfig [style*="padding:64px 32px"],
  #konfig [style*="padding: 64px 32px"] {
    padding: 40px 20px 0 !important;
  }
  #konfig [style*="padding:34px 32px 64px"],
  #konfig [style*="padding: 34px 32px 64px"] {
    padding: 24px 16px 48px !important;
  }
}

@media (max-width: 480px) {
  /* Step layout 320px col — already covered, extra safety */
  [style*="grid-template-columns:320px 1fr"],
  [style*="grid-template-columns: 320px 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  /* 3-col material grids → 2 col */
  #matGrid {
    grid-template-columns: 1fr 1fr !important;
  }

  /* Testimonials inline */
  #testiTrack {
    grid-template-columns: 1fr !important;
  }

  /* Size cards → 3 col on very small */
  .sz-cards { grid-template-columns: repeat(3, 1fr) !important; }

  /* Konfig step nav */
  .k-nav { flex-direction: column !important; }
  .k-back, .k-next { flex: none !important; width: 100% !important; }

  /* Summary price bar */
  .price-bar { flex-direction: column !important; gap: 8px !important; }
  .price-num { font-size: 28px !important; }

  /* Collar preview */
  .big-collar-box { padding: 16px 12px !important; }
}

/* ── WooCommerce mobile ── */
@media (max-width: 600px) {
  .dogsland-woo { padding: 28px 14px !important; }
  .dogsland-woo ul.products { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  .dogsland-woo div.product { grid-template-columns: 1fr !important; gap: 24px !important; }
  .dogsland-woo .related.products ul.products { grid-template-columns: 1fr 1fr !important; }
  .dogsland-woo .cart { flex-wrap: wrap !important; }
  .dogsland-woo .single_add_to_cart_button { padding: 14px 20px !important; }
}

@media (max-width: 400px) {
  .dogsland-woo ul.products { grid-template-columns: 1fr !important; }
}

/* ── Utility: prevent img/table overflow ── */
img, table, video, iframe {
  max-width: 100%;
}

/* ── Touch-friendly tap targets ── */
@media (max-width: 768px) {
  .nl, .mob-link, .sp, .kapp-tab {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  .nav-icon { padding: 10px 12px; font-size: 20px; }
}

/* ── Horizontal scroll fix for USP and tabs ── */
.usp-row, .kapp-tabs, .shop-pills {
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.usp-row::-webkit-scrollbar,
.kapp-tabs::-webkit-scrollbar,
.shop-pills::-webkit-scrollbar { display: none; }


/* ── New class-based responsive overrides (replaces inline styles) ── */

/* Configurator step rows */
.konfig-step-row {
  display: grid !important;
  grid-template-columns: 320px 1fr !important;
  gap: 52px !important;
  align-items: start !important;
}
@media (max-width: 900px) {
  .konfig-step-row {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}

/* Atelier/story inline grid */
.atelier-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
}
@media (max-width: 768px) {
  .atelier-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Kontakt inner grid */
.kontakt-inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 56px !important;
}
@media (max-width: 768px) {
  .kontakt-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 32px 20px 56px !important;
  }
}

/* Instagram gallery */
.insta-grid-inline {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  gap: 3px !important;
}
@media (max-width: 600px) {
  .insta-grid-inline {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* Testimonials track */
#testiTrack {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}
@media (max-width: 768px) {
  #testiTrack {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 480px) {
  #testiTrack {
    grid-template-columns: 1fr !important;
  }
}

/* ── Add to Cart button - direct template rendering fix ── */
.dl-cart-form form.cart {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin-bottom: 0 !important;
}
/* [removed duplicate - see dl-product-form section] */
.dl-cart-form button.single_add_to_cart_button,
.dl-cart-form input.single_add_to_cart_button,
.dl-cart-form .button.alt,
.dl-cart-form button[name="add-to-cart"],
.dl-cart-form .woocommerce-cart-form__cart-item .button {
  flex: 1 !important;
  min-width: 200px !important;
  background: #fa3c7f !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 16px 36px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-family: 'DM Sans', sans-serif !important;
  cursor: pointer !important;
  transition: background .15s, transform .1s !important;
  letter-spacing: .3px !important;
  text-decoration: none !important;
  display: inline-block !important;
  text-align: center !important;
}
.dl-cart-form button.single_add_to_cart_button:hover,
.dl-cart-form .button.alt:hover {
  background: #d42d68 !important;
  transform: translateY(-1px) !important;
}
.dl-cart-form .stock.out-of-stock {
  color: #c0392b;
  font-weight: 600;
  font-size: 14px;
  padding: 12px 16px;
  background: #fdf0ef;
  border-radius: 8px;
  border: 1px solid #f5c6c0;
}
.dl-cart-form .stock.in-stock {
  color: #27ae60;
  font-size: 13px;
  margin-bottom: 12px;
}

/* ══════════════════════════════════════════════════════════
   CRITICAL FIX: WooCommerce form.cart class conflict
   The header uses .cart for a slide-out panel (position:fixed).
   WooCommerce also uses form.cart for the add-to-cart form.
   These overrides reset the form to normal document flow.
   ══════════════════════════════════════════════════════════ */
form.cart,
.dl-cart-form form.cart,
.dl-cart-form form,
.woocommerce div.product form.cart,
.dogsland-single-wrap form.cart {
  position: static !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: none !important;
  z-index: auto !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  margin-bottom: 24px !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* ── Cart badge: show when WC count > 0 (PHP-rendered initial state) ── */
#cartBadge {
  position: absolute;
  top: 3px;
  right: 3px;
  min-width: 17px;
  height: 17px;
  border-radius: 9px;
  background: var(--pk);
  font-size: 9px;
  color: #fff;
  display: none;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  padding: 0 4px;
}
#cartBadge.show,
#cartBadge.nav-cart-badge.show {
  display: flex !important;
}
/* Hide zero badge */
#cartBadge:empty,
#cartBadge[data-count="0"] {
  display: none !important;
}

/* ── Search result items ── */
.dl-search-result {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  text-decoration: none !important;
  border-bottom: 1px solid #f0ebe4 !important;
  cursor: pointer !important;
  color: inherit !important;
}
.dl-search-result:hover { background: #f9f6f2 !important; }
.dl-search-result:last-child { border-bottom: none !important; }

/* ── Search results: ensure full-row clickability ── */
#searchResults a.dl-search-result {
  display: flex !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  -webkit-user-select: none;
  user-select: none;
}
#searchResults a.dl-search-result * {
  pointer-events: none !important; /* clicks pass through to the <a> */
}

/* ══════════════════════════════════════════════════════════
   CHECKOUT LAYOUT — CONSOLIDATED FIX
   WC structure: form.woocommerce-checkout
     > #order_review                (right)
   ══════════════════════════════════════════════════════════ */

/* Reset any conflicting wrappers */

/* The grid lives on the form itself */

/* Left: customer details (billing + shipping) */

/* Inner col-1 / col-2 of customer_details — stack vertically */

/* Right: order review */

/* Tablet */
@media (max-width: 900px) {
}

/* ══════════════════════════════════════════════════════════
   CHECKOUT — FINAL AUTHORITATIVE FIX (overrides all above)
   ══════════════════════════════════════════════════════════ */

/* Full-width wrapper reset */

/* Page title */

/* 2-column grid on the form — NO extra padding */

/* Left: customer details */

/* Right: order review (hide stray heading, show only panel) */

/* Coupon notice */

/* Responsive */
@media (max-width: 900px) {
}

/* ── Thank-you page: hide duplicate default WC output ── */
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details,
.woocommerce-order ul.woocommerce-order-overview,
.woocommerce-order p.woocommerce-notice,
.woocommerce-order > .woocommerce > p,
.woocommerce-order > .woocommerce > ul,
.woocommerce-order > .woocommerce > h2,
.woocommerce-order > .woocommerce > section,
.woocommerce-order .dl-woo-full > .woocommerce > p,
.woocommerce-order .dl-woo-full > .woocommerce > ul,
.woocommerce-order .dl-woo-full > .woocommerce > h2,
.woocommerce-order .dl-woo-full > .woocommerce > section {
  display: none !important;
}
/* But keep our template visible */
.woocommerce-order .dl-ty-wrap {
  display: block !important;
}


/* ═══════════════════════════════════════════════════════════════════
   DOGSLAND — COMPREHENSIVE MOBILE RESPONSIVE v2
   Covers all inline-style sections in front-page.php + remaining gaps
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. GLOBAL helpers ─────────────────────────────────────── */
*{ box-sizing:border-box; }
img,video,iframe,table,embed,object{ max-width:100%; height:auto; }
body{ overflow-x:hidden; word-break:break-word; }

/* ── 2. NAV / HEADER ───────────────────────────────────────── */
@media(max-width:960px){
  .nav-links{ display:none; }
  .hamburger{ display:block; }
}
@media(max-width:480px){
  .ann{ font-size:10px; padding:7px 10px; line-height:1.5; }
  .nav-wrap{ padding:0 14px; height:56px; }
  .nav-logo-img{ height:32px; }
  .nav-cta{ display:none; }           /* hide on smallest – hamburger covers nav */
  .nav-icon{ padding:9px 10px; font-size:19px; }
}

/* ── 3. HERO ───────────────────────────────────────────────── */
@media(max-width:768px){
  .hero{ height:72vh; min-height:420px; }
  .hero-c{ padding:0 22px; max-width:100%; }
  .hero-h{ font-size:clamp(32px,8.5vw,52px)!important; }
  .hero-p{ font-size:14px; max-width:100%; }
  .hbtn{ padding:12px 22px; font-size:12px; }
  .hero-ey{ font-size:9px; letter-spacing:3px; }
}
@media(max-width:480px){
  .hero{ height:68vh; min-height:380px; }
  .hero-c{ padding:0 18px; }
  .hero-h{ font-size:clamp(28px,8vw,42px)!important; }
  .hbtn{ padding:11px 20px; font-size:11px; }
}

/* ── 4. USP STRIP ─────────────────────────────────────────── */
@media(max-width:600px){
  .usp-row{ flex-direction:column; overflow-x:hidden; }
  .usp-i{ border-right:none!important; border-bottom:1px solid var(--rl); min-width:0; padding:13px 18px; }
  .usp-i:last-child{ border-bottom:none; }
  .usp-t span{ font-size:12px; }
}

/* ── 5. SECTION HEADINGS ───────────────────────────────────── */
@media(max-width:768px){
  .sec-hd{ flex-direction:column; align-items:flex-start; gap:6px; }
  .sec-ht{ font-size:34px!important; }
}
@media(max-width:480px){
  .sec-ht{ font-size:28px!important; }
  .sec-hd{ margin-bottom:20px!important; }
}

/* ── 6. CATEGORY GRID ─────────────────────────────────────── */
@media(max-width:768px){
  .cat-grid{ grid-template-columns:1fr 1fr!important; grid-template-rows:auto!important; }
  .cbox-tall{ grid-row:span 1!important; }
}
@media(max-width:480px){
  .cat-grid{ grid-template-columns:1fr!important; }
}

/* ── 7. PRODUCT GRID (pcard) ──────────────────────────────── */
@media(max-width:900px){
  .pgrid.p4,.p4{ grid-template-columns:repeat(2,1fr)!important; }
}
@media(max-width:480px){
  .pgrid.p4,.p4{ grid-template-columns:1fr!important; }
  .pcard-btn{ font-size:10px; padding:9px 14px; }
}

/* ── 8. KONFIGURATOR ──────────────────────────────────────── */
@media(max-width:900px){
  .kapp-wrap{ padding:32px 20px 48px; }
  .kapp-tabs{ overflow-x:auto; -webkit-overflow-scrolling:touch; flex-wrap:nowrap; }
  .kapp-tab{ padding:11px 14px; font-size:11px; white-space:nowrap; flex-shrink:0; }
  .kapp-layout,[style*="grid-template-columns:320px 1fr"],[style*="grid-template-columns: 320px 1fr"]{
    grid-template-columns:1fr!important; gap:24px!important;
  }
  /* step heading font size */
  [style*="font-size:40px"][style*="Cormorant"]{ font-size:28px!important; }
  /* konfig container padding */
  [style*="padding:64px 32px"],[style*="padding: 64px 32px"]{
    padding:32px 18px 0!important;
  }
  [style*="padding:34px 32px 64px"],[style*="padding: 34px 32px 64px"]{
    padding:22px 16px 40px!important;
  }
}
@media(max-width:600px){
  .mat-grid{ grid-template-columns:repeat(2,1fr)!important; }
  .sw-grid{ grid-template-columns:repeat(4,1fr)!important; }
  .sz-cards{ grid-template-columns:repeat(3,1fr)!important; }
  .fnt-grid{ grid-template-columns:1fr 1fr!important; }
  .kapp-tab{ font-size:10px; padding:10px 12px; }
}
@media(max-width:480px){
  .kapp-wrap{ padding:24px 14px 40px; }
  .kapp-tab{ font-size:9px; padding:9px 10px; min-height:40px; }
  .k-nav{ flex-direction:column!important; gap:10px!important; }
  .k-back,.k-next{ flex:none!important; width:100%!important; text-align:center; }
  .price-bar{ flex-direction:column!important; gap:8px!important; align-items:flex-start!important; }
  .price-num{ font-size:26px!important; }
  .big-collar-box{ padding:14px 10px!important; }
  .sz-cards{ grid-template-columns:repeat(3,1fr)!important; }
  .sw-grid{ grid-template-columns:repeat(4,1fr)!important; gap:5px!important; }
  #matGrid,[style*="grid-template-columns:repeat(3,1fr)"]{
    grid-template-columns:1fr 1fr!important;
  }
}

/* ── 9. ATELIER / STORY ───────────────────────────────────── */
@media(max-width:900px){
  .atelier-grid,
  .story,[id="atelier"][style*="grid-template-columns"]{
    grid-template-columns:1fr!important;
  }
  .story-img img{ min-height:300px!important; }
  .story-body{ padding:28px 22px!important; }
  /* Stat numbers inline */
  [style*="font-size:40px"][style*="fa3c7f"]{ font-size:32px!important; }
  /* Atelier h2 */
  [style*="font-size:44px"]{ font-size:32px!important; }
  .s-stats{ flex-wrap:wrap; gap:20px; }
}
@media(max-width:480px){
  .s-h{ font-size:26px!important; }
  .story-body{ padding:22px 16px!important; }
  .story-img img{ min-height:240px!important; }
  [style*="font-size:44px"]{ font-size:28px!important; }
  [style*="font-size:40px"][style*="fa3c7f"]{ font-size:28px!important; }
}

/* ── 10. TESTIMONIALS ─────────────────────────────────────── */
@media(max-width:768px){
  .testi{ padding:40px 18px!important; }
  #testiTrack{ grid-template-columns:1fr 1fr!important; gap:14px!important; }
  .testi-h{ font-size:28px!important; }
}
@media(max-width:480px){
  #testiTrack{ grid-template-columns:1fr!important; }
  .testi{ padding:32px 14px!important; }
}

/* ── 11. GALLERY / INSTAGRAM ──────────────────────────────── */
@media(max-width:768px){
  .insta-grid,.insta-grid-inline,
  [style*="grid-template-columns:repeat(6,1fr)"],
  [style*="grid-template-columns: repeat(6,1fr)"]{
    grid-template-columns:repeat(3,1fr)!important;
    gap:3px!important;
  }
}
@media(max-width:480px){
  .insta-grid,.insta-grid-inline{
    grid-template-columns:repeat(3,1fr)!important;
  }
}

/* ── 12. SHOP SECTION ─────────────────────────────────────── */
@media(max-width:768px){
  .shop-hdr{ height:180px; }
  [style*="font-size:48px"]:not(.nav){ font-size:34px!important; }
  .shop-hdr-content{ padding:18px 18px!important; }
}
@media(max-width:480px){
  .shop-hdr{ height:160px; }
  .shop-bar{ padding:14px 14px 0!important; flex-direction:column; align-items:flex-start; gap:10px; }
  .shop-pills{ flex-wrap:wrap; gap:6px; }
  .sp{ font-size:11px; padding:6px 12px; min-height:36px; }
}

/* ── 13. KONTAKT ──────────────────────────────────────────── */
@media(max-width:900px){
  .kontakt-inner,
  [style*="grid-template-columns:1fr 1fr"][style*="gap:56px"],
  [style*="grid-template-columns: 1fr 1fr"][style*="gap: 56px"]{
    grid-template-columns:1fr!important; gap:28px!important;
  }
  .kontakt-body,[class="kontakt-body"]{
    grid-template-columns:1fr!important; padding:28px 18px 48px!important; gap:28px!important;
  }
  [style*="padding:48px 32px 72px"],[style*="padding: 48px 32px 72px"]{
    padding:32px 18px 48px!important;
  }
}
@media(max-width:480px){
  .kontakt-inner{ padding:24px 14px 40px!important; }
  /* Kontakt h2 */
  [style*="font-size:48px"]:not(.stat-n){ font-size:30px!important; }
}

/* ── 14. NEWSLETTER ───────────────────────────────────────── */
@media(max-width:600px){
  .nl-sec{ padding:36px 16px!important; }
  .nl-form{ flex-direction:column; border-radius:10px; overflow:hidden; }
  .nl-in{ border-radius:8px 8px 0 0!important; border-right:none!important; border-bottom:1px solid var(--rl)!important; padding:13px 16px; }
  .nl-btn{ border-radius:0 0 8px 8px!important; width:100%!important; }
  [style*="max-width:420px"][style*="display:flex"]{
    flex-direction:column!important; max-width:100%!important;
  }
}

/* ── 15. FOOTER ───────────────────────────────────────────── */
@media(max-width:768px){
  .ft-grid{ grid-template-columns:1fr 1fr!important; gap:28px!important; }
  .ft-bot{ flex-direction:column; align-items:flex-start; gap:6px; }
}
@media(max-width:480px){
  .ft-grid{ grid-template-columns:1fr!important; gap:22px!important; }
  footer,.ft{ padding:40px 16px 28px!important; }
}

/* ── 16. MODAL (product) ──────────────────────────────────── */
@media(max-width:768px){
  .modal{ width:96vw!important; max-height:92vh!important; overflow-y:auto; }
  .modal-inner{ flex-direction:column!important; }
  .modal-img{ min-height:200px; flex:none!important; max-height:220px; }
  .modal-body{ padding:18px!important; }
}
@media(max-width:480px){
  .modal{ width:100vw!important; border-radius:14px 14px 0 0!important; position:fixed!important; bottom:0!important; top:auto!important; }
}

/* ── 17. CART DRAWER ──────────────────────────────────────── */
@media(max-width:480px){
  .cart{ width:100vw!important; }
}

/* ── 18. CHECKOUT ─────────────────────────────────────────── */
@media(max-width:768px){
  .str-modal{ padding:18px!important; border-radius:14px!important; }
  [style*="grid-template-columns:1fr 1fr"][style*="gap:10px"]{
    grid-template-columns:1fr!important;
  }
  /* CMS guide grid */
  #cmsGuideOverlay [style*="grid-template-columns:1fr 1fr"]{
    grid-template-columns:1fr!important;
  }
}

/* ── 19. WOOCOMMERCE ──────────────────────────────────────── */
@media(max-width:768px){
  .woocommerce ul.products{ grid-template-columns:repeat(2,1fr)!important; }
  .woocommerce div.product{ grid-template-columns:1fr!important; }
}
@media(max-width:480px){
  .woocommerce ul.products{ grid-template-columns:1fr 1fr!important; gap:10px!important; }
  .dogsland-woo{ padding:24px 12px!important; }
}
@media(max-width:400px){
  .woocommerce ul.products{ grid-template-columns:1fr!important; }
}

/* ── 20. SEARCH BOX ───────────────────────────────────────── */
@media(max-width:480px){
  #searchBox{ width:calc(100vw - 28px)!important; left:14px!important; right:14px!important; top:56px!important; }
}

/* ── 21. TOUCH TARGETS (WCAG 2.5.8) ─────────────────────── */
@media(max-width:768px){
  .nl,.mob-link,.sp,.kapp-tab,.hbtn,.nav-cta,.k-next,.k-back{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .nav-icon{ padding:10px 12px; font-size:20px; min-height:44px; min-width:44px; display:inline-flex; align-items:center; justify-content:center; }
}

/* ── 22. MOB MENU ENHANCEMENTS ────────────────────────────── */
.mob-menu{ padding:24px 22px; }
.mob-link{ font-size:28px; padding:14px 0; }
@media(max-width:380px){
  .mob-link{ font-size:24px; }
}

/* ── 23. HORIZONTAL SCROLL PREVENTION ────────────────────── */
.usp-row,.kapp-tabs,.shop-pills{
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.usp-row::-webkit-scrollbar,
.kapp-tabs::-webkit-scrollbar,
.shop-pills::-webkit-scrollbar{ display:none; }

/* kapp-tabs: allow horizontal scroll when needed on mobile */
@media(max-width:768px){
  .kapp-tabs{
    overflow-x:auto;
    flex-wrap:nowrap;
    display:flex;
    padding-bottom:2px;
  }
}

/* ── 24. MISCELLANEOUS INLINE STYLE OVERRIDES ─────────────── */
/* Section container padding */
@media(max-width:768px){
  [style*="padding:24px 32px 72px"],[style*="padding: 24px 32px 72px"]{
    padding:20px 16px 48px!important;
  }
  [style*="padding:64px 32px"],[style*="padding: 64px 32px"]{
    padding:36px 18px!important;
  }
  [style*="padding:34px 32px"],[style*="padding: 34px 32px"]{
    padding:22px 16px!important;
  }
  /* Gallery / inspiration heading */
  [style*="font-size:40px"][style*="letter-spacing"]{ font-size:28px!important; }
  /* Kontakt/Shop h2 */
  [style*="font-size:48px"]{ font-size:32px!important; }
}
@media(max-width:480px){
  [style*="padding:24px 32px 72px"],[style*="padding: 24px 32px 72px"]{
    padding:16px 14px 40px!important;
  }
  [style*="font-size:48px"]{ font-size:28px!important; }
  [style*="font-size:40px"]{ font-size:24px!important; }
  [style*="font-size:44px"]{ font-size:26px!important; }
}


/* ═══════════════════════════════════════════════════════════
   PRODUCT PAGE — ATTRIBUTE SELECTORS + QTY + ADD TO CART
   Single source of truth — high specificity to win all WC overrides
   ═══════════════════════════════════════════════════════════ */

/* Cart form: column layout */
.dl-product .dl-cart-form .cart,
.dogsland-single-wrap .dl-cart-form .cart {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
}

/* ── Attribute rows ─────────────────────────────────────── */
.dl-product .dl-attr-selectors {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 0;
}
.dl-product .dl-attr-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.dl-product .dl-attr-row-label {
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #888;
  display: block;
  margin: 0;
}

/* ── Select dropdown ────────────────────────────────────── */
.dl-product .dl-attr-select-wrap {
  position: relative;
  display: block;
}
.dl-product .dl-attr-select-wrap::after {
  content: '';
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 0; height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #999;
  pointer-events: none;
}
.dl-product .dl-attr-select-wrap:focus-within::after {
  border-top-color: #fa3c7f;
}
.dl-product .dl-attr-select,
.dogsland-single-wrap .dl-attr-select {
  display: block !important;
  width: 100% !important;
  padding: 12px 44px 12px 16px !important;
  border: 1.5px solid #e0dbd5 !important;
  border-radius: 4px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #2a2a2a !important;
  background: #fff !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  box-shadow: none !important;
  line-height: 1.5 !important;
  transition: border-color .15s, box-shadow .15s !important;
  height: auto !important;
}
.dl-product .dl-attr-select:hover,
.dogsland-single-wrap .dl-attr-select:hover {
  border-color: #c0b8b0 !important;
}
.dl-product .dl-attr-select:focus,
.dogsland-single-wrap .dl-attr-select:focus {
  outline: none !important;
  border-color: #fa3c7f !important;
  box-shadow: 0 0 0 3px rgba(250,60,127,.12) !important;
}

/* ── Qty + Button row ───────────────────────────────────── */
.dl-product .dl-add-row,
.dogsland-single-wrap .dl-add-row {
  display: flex !important;
  flex-direction: row !important;
  gap: 10px !important;
  align-items: stretch !important;
  margin-top: 22px !important;
  flex-wrap: nowrap !important;
}

/* Qty stepper */
.dl-product .dl-qty-wrap,
.dogsland-single-wrap .dl-qty-wrap {
  display: flex !important;
  align-items: center !important;
  border: 1.5px solid #e0dbd5 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  background: #fff !important;
  height: auto !important;
}
.dl-product .dl-qty-btn,
.dogsland-single-wrap .dl-qty-btn {
  width: 38px !important;
  min-height: 52px !important;
  background: #f5f2ef !important;
  border: none !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  color: #555 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  transition: background .12s, color .12s !important;
  flex-shrink: 0 !important;
}
.dl-product .dl-qty-btn:hover,
.dogsland-single-wrap .dl-qty-btn:hover {
  background: #ede8e2 !important;
  color: #fa3c7f !important;
}
.dl-product .dl-qty-input,
.dogsland-single-wrap .dl-qty-input {
  width: 48px !important;
  min-height: 52px !important;
  text-align: center !important;
  border: none !important;
  border-left: 1.5px solid #e0dbd5 !important;
  border-right: 1.5px solid #e0dbd5 !important;
  border-radius: 0 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-family: 'DM Sans', sans-serif !important;
  color: #0f0d0c !important;
  padding: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  outline: none !important;
  -moz-appearance: textfield !important;
}
.dl-product .dl-qty-input::-webkit-inner-spin-button,
.dl-product .dl-qty-input::-webkit-outer-spin-button,
.dogsland-single-wrap .dl-qty-input::-webkit-inner-spin-button,
.dogsland-single-wrap .dl-qty-input::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
}

/* ── Add to cart button ─────────────────────────────────── */
.dl-product .dl-add-row .single_add_to_cart_button,
.dl-product .dl-add-row button[type="submit"],
.dogsland-single-wrap .dl-add-row .single_add_to_cart_button,
.dogsland-single-wrap .dl-add-row button[type="submit"] {
  flex: 1 !important;
  min-width: 0 !important;
  min-height: 52px !important;
  background: #fa3c7f !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 0 24px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  font-family: 'DM Sans', sans-serif !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .15s, transform .1s !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  text-decoration: none !important;
  margin: 0 !important;
  width: auto !important;
}
.dl-product .dl-add-row .single_add_to_cart_button:hover,
.dogsland-single-wrap .dl-add-row .single_add_to_cart_button:hover {
  background: #d42d68 !important;
  transform: translateY(-1px) !important;
}
/* Suppress WC's own pseudo-element icons inside our button */
.dl-product .dl-add-row .single_add_to_cart_button::before,
.dl-product .dl-add-row .single_add_to_cart_button::after,
.dogsland-single-wrap .dl-add-row .single_add_to_cart_button::before,
.dogsland-single-wrap .dl-add-row .single_add_to_cart_button::after {
  display: none !important;
}

/* ── Mobile ─────────────────────────────────────────────── */
@media(max-width:600px){
  .dl-product .dl-add-row,
  .dogsland-single-wrap .dl-add-row {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .dl-product .dl-qty-wrap,
  .dogsland-single-wrap .dl-qty-wrap {
    width: 100% !important;
  }
  .dl-product .dl-qty-input,
  .dogsland-single-wrap .dl-qty-input {
    flex: 1 !important;
  }
  .dl-product .dl-add-row .single_add_to_cart_button,
  .dogsland-single-wrap .dl-add-row .single_add_to_cart_button {
    width: 100% !important;
    min-height: 54px !important;
  }
}

/* ── dl-shop-card (custom content-product.php output) ─────────── */
.dogsland-woo ul.products li.dl-shop-card,
.dogsland-woo ul.products li.product.dl-shop-card {
  background: #fff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
  transition: transform .22s, box-shadow .22s !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  float: none !important;
  padding: 0 !important;
  width: auto !important;
}
.dogsland-woo ul.products li.dl-shop-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 36px rgba(0,0,0,.12) !important;
}
.dl-shop-card:hover .dl-card-body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.dl-card-cat {
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #9a8f88;
  font-weight: 600;
  margin-bottom: 5px;
  font-family: 'DM Sans', sans-serif;
}
.dl-card-name {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #0f0d0c;
  text-decoration: none;
  line-height: 1.4;
  margin-bottom: 7px;
  display: block;
}
.dl-card-name:hover { color: #fa3c7f; }
.dl-card-price {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #fa3c7f;
  margin-bottom: 12px;
}
.dl-card-price .amount { color: #fa3c7f; }
.dl-card-btn {
  display: block;
  margin-top: auto;
  padding: 10px 16px;
  background: #0f0d0c;
  color: #fff !important;
  border: none;
  border-radius: 4px;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  transition: background .15s;
}
.dl-card-btn:hover { background: #fa3c7f !important; color: #fff !important; }

/* Responsive */
@media(max-width:900px){
  .dogsland-woo ul.products { grid-template-columns: repeat(2,1fr) !important; gap:18px !important; }
}
@media(max-width:480px){
  .dogsland-woo ul.products { grid-template-columns: repeat(2,1fr) !important; gap:12px !important; }
  .dl-card-body { padding: 10px 12px 12px; }
  .dl-card-name { font-size: 13px; }
}
@media(max-width:360px){
  .dogsland-woo ul.products { grid-template-columns: 1fr !important; }
}

/* ── Cart: Konfigurator meta badges ────────────────────────────── */
.dl-cart-item-meta { margin-top: 8px; }
.dl-cart-item-meta dl {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px 6px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.dl-cart-item-meta dl dt,
.dl-cart-item-meta dl dd {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 11px !important;
  background: none !important;
  border: none !important;
}
/* Wrap each dt+dd pair as a badge */
.dl-cart-item-meta dl dt {
  display: none !important; /* hidden — shown via dd::before */
}
.dl-cart-item-meta dl dd {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 3px !important;
  font-size: 11px !important;
  color: #555 !important;
  background: #f5f2ef !important;
  padding: 3px 9px !important;
  border-radius: 20px !important;
  line-height: 1.5 !important;
  white-space: nowrap !important;
  font-weight: 400 !important;
}
.dl-cart-item-meta dl dd::after { content: '' !important; }
.dl-cart-item-meta p {
  font-size: 11px;
  color: #666;
  margin: 3px 0 0;
  line-height: 1.5;
}

/* ── Cart totals sidebar (WooCommerce collaterals) ──────────── */
.dl-woo-full .cart_totals,
.woocommerce .cart_totals { all: unset; display: block !important; }
.dl-woo-full .cart_totals h2,
.woocommerce .cart_totals > h2 {
  font-family: 'Cormorant', serif !important;
  font-size: 1.4rem !important; font-weight: 600 !important;
  color: #0f0d0c !important; margin: 0 0 18px !important;
  padding-bottom: 14px !important; border-bottom: 1.5px solid #e8e2db !important;
  display: block !important;
}
.dl-woo-full .cart_totals table,
.woocommerce .cart_totals table {
  width: 100% !important; border-collapse: collapse !important;
  font-family: 'DM Sans', sans-serif !important;
}
.dl-woo-full .cart_totals table tr,
.woocommerce .cart_totals table tr { border-bottom: 1px solid #f0ebe4 !important; }
.dl-woo-full .cart_totals table th,
.woocommerce .cart_totals table th {
  font-size: 13px !important; font-weight: 600 !important; color: #777 !important;
  padding: 12px 0 !important; text-align: left !important; width: 45% !important;
  vertical-align: top !important;
}
.dl-woo-full .cart_totals table td,
.woocommerce .cart_totals table td {
  padding: 12px 0 !important; text-align: right !important;
  font-size: 14px !important; color: #0f0d0c !important;
}
.dl-woo-full .cart_totals .order-total th,
.dl-woo-full .cart_totals .order-total td,
.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td {
  border: none !important; font-size: 17px !important;
  font-weight: 700 !important; padding-top: 18px !important;
}
.dl-woo-full .cart_totals .order-total td .woocommerce-Price-amount,
.woocommerce .cart_totals .order-total td .woocommerce-Price-amount {
  color: #fa3c7f !important; font-size: 20px !important;
}
.dl-woo-full .wc-proceed-to-checkout,
.woocommerce .wc-proceed-to-checkout { margin-top: 20px !important; }
.dl-woo-full .wc-proceed-to-checkout a.checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 10px !important;
  width: 100% !important;
  background: linear-gradient(135deg,#fa3c7f,#d42d68) !important;
  color: #fff !important; border-radius: 8px !important;
  padding: 16px !important; font-size: 15px !important;
  font-weight: 700 !important; text-decoration: none !important;
  font-family: 'DM Sans', sans-serif !important;
  box-shadow: 0 4px 16px rgba(250,60,127,.28) !important;
  transition: all .2s !important; letter-spacing: .3px !important;
  border: none !important;
}
.dl-woo-full .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(250,60,127,.4) !important;
}

/* ── Suppress duplicate page title on WooCommerce pages ─── */
.woocommerce-cart .entry-title,
.woocommerce-cart h1.page-title,
.woocommerce-checkout .entry-title,
.woocommerce-checkout h1.page-title,
.woocommerce-account .entry-title,
.dl-woo-full h1.page-title,
.dl-woo-full .entry-title { display: none !important; }

/* ── Cart remove button — neutralise WC default .remove styles ── */
.dl-woo-full .woocommerce-cart-form .remove,
.woocommerce .woocommerce-cart-form .remove,
.woocommerce table.cart .remove {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 16px !important;
  background: #f0ebe4 !important;
  color: #9a8f88 !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  line-height: 1 !important;
  border: none !important;
  font-style: normal !important;
}
/* Kill WC's ::before pseudo-element that adds the × via content */
.dl-woo-full .woocommerce-cart-form .remove::before,
.woocommerce .woocommerce-cart-form .remove::before,
.woocommerce table.cart .remove::before { content: none !important; }
.dl-woo-full .woocommerce-cart-form .remove:hover,
.woocommerce .woocommerce-cart-form .remove:hover {
  background: #fa3c7f !important;
  color: #fff !important;
}

/* ── Cart totals sidebar — prevent overflow ─────────────── */
.dl-cart-grid-wrap > div:last-child { min-width: 0; overflow: hidden; }
.dl-woo-full .cart_totals,
.woocommerce .cart_totals { overflow: hidden !important; }
.dl-woo-full .cart_totals td,
.woocommerce .cart_totals td { word-break: break-word !important; }

/* ── dl-item-remove — completely independent of WC styles ── */
a.dl-item-remove {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important; height: 32px !important;
  border-radius: 50% !important;
  background: #f0ebe4 !important;
  color: #9a8f88 !important;
  font-size: 18px !important; font-weight: 400 !important;
  text-decoration: none !important; line-height: 1 !important;
  font-style: normal !important; font-family: sans-serif !important;
  border: none !important; outline: none !important;
  transition: background .15s, color .15s !important;
}
a.dl-item-remove::before,
a.dl-item-remove::after { display: none !important; content: none !important; }
a.dl-item-remove:hover { background: #fa3c7f !important; color: #fff !important; }

/* ── Cart totals table — fix word-breaking ──────────────── */
.dl-woo-full .cart_totals table,
.woocommerce .cart_totals table { table-layout: fixed !important; width: 100% !important; }
.dl-woo-full .cart_totals table th { width: 40% !important; white-space: nowrap !important; }
.dl-woo-full .cart_totals table td { width: 60% !important; word-break: normal !important; overflow-wrap: break-word !important; }
.dl-woo-full .cart_totals .shipping td { font-size: 12px !important; line-height: 1.5 !important; }

/* ── Cart totals: ensure space between label and value ──── */
.dl-woo-full .cart_totals table th,
.woocommerce .cart_totals table th {
  padding-right: 12px !important;
}
.dl-woo-full .cart_totals table td,
.woocommerce .cart_totals table td {
  padding-left: 4px !important;
}

/* ── Cart sidebar wrapper & totals box ──────────────────── */
.dl-cart-sidebar-wrap {
  position: sticky;
  top: 90px;
  min-width: 0;
}
.dl-cart-totals-box {
  background: #fff;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 2px 16px rgba(0,0,0,.06);
}

/* ── Checkout: hide WC default coupon/login toggles only ── */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-coupon,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout > .woocommerce-info { display: none !important; }
/* Our custom coupon field stays visible */
.dl-co-coupon-inline { display: block !important; }

/* ══════════════════════════════════════════════════════════════
   CUSTOM PRODUCT CONFIGURATOR — KnofBox Layout
   ══════════════════════════════════════════════════════════════ */

.KnofBox {
  width: 100%;
  margin: 20px 0 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.LeftSection {
  flex: 1 1 260px;
  min-width: 220px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.rigthSection {
  flex: 1 1 260px;
  min-width: 220px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.custom-fields-konfigurator {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* ── Each field row ──────────────────────────────────────────── */
.custom-dropdown {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 14px;
}
.custom-dropdown label,
.custom-dropdown p label,
.custom-dropdown > label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: #888 !important;
  display: block !important;
  margin: 0 0 5px !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}
.custom-dropdown p {
  margin: 0 0 5px !important;
  padding: 0 !important;
}

/* ── ALL selects inside KnofBox (catches inline + class-based) ── */
.KnofBox select,
.KnofBox .custom-dropdown select,
select.attributePrice,
select.attributePriceRight,
.dl-product .KnofBox select {
  display: block !important;
  width: 100% !important;
  padding: 11px 40px 11px 14px !important;
  border: 1.5px solid #e0dbd5 !important;
  border-radius: 6px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #2a2a2a !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23aaa'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 13px center !important;
  background-size: 10px 6px !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: pointer !important;
  outline: none !important;
  transition: border-color .15s, box-shadow .15s !important;
  box-shadow: none !important;
  line-height: 1.4 !important;
  height: auto !important;
  max-width: 100% !important;
}
.KnofBox select:focus,
select.attributePrice:focus,
select.attributePriceRight:focus {
  border-color: #fa3c7f !important;
  box-shadow: 0 0 0 3px rgba(250,60,127,.1) !important;
}
.KnofBox select:hover,
select.attributePrice:hover {
  border-color: #c8bfb8 !important;
}

/* ── ALL text inputs inside KnofBox ─────────────────────────── */
.KnofBox input[type="text"],
.KnofBox input[type="number"],
.KnofBox .custom-dropdown input,
.dl-product .KnofBox input[type="text"] {
  display: block !important;
  width: 100% !important;
  padding: 11px 14px !important;
  border: 1.5px solid #e0dbd5 !important;
  border-radius: 6px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #2a2a2a !important;
  background: #fff !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color .15s, box-shadow .15s !important;
  line-height: 1.4 !important;
  height: auto !important;
  max-width: 100% !important;
}
.KnofBox input[type="text"]:focus,
.KnofBox input[type="number"]:focus {
  border-color: #fa3c7f !important;
  box-shadow: 0 0 0 3px rgba(250,60,127,.1) !important;
}
.KnofBox input::placeholder { color: #bbb !important; font-style: italic !important; }

/* ── Labels that appear inline (not wrapped in .custom-dropdown) ─ */
.KnofBox label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #888 !important;
  display: block !important;
  margin-bottom: 5px !important;
}

/* ── Stickmotive custom dropdown ─────────────────────────────── */
.stickmotove .dropdown-stickmotove {
  position: relative;
}
.dropdown-btn-stickmotove {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1.5px solid #e0dbd5;
  border-radius: 4px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  cursor: pointer;
  background: #fff;
  transition: border-color .15s;
}
.dropdown-btn-stickmotove:hover { border-color: #fa3c7f; }
.dropdown-btn-stickmotove img { width: 36px; height: 36px; object-fit: cover; border-radius: 4px; }
.dropdown-list {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 200;
  background: #fff;
  border: 1.5px solid #e0dbd5;
  border-top: none;
  border-radius: 0 0 4px 4px;
  max-height: 260px;
  overflow-y: auto;
  box-shadow: 0 8px 24px rgba(0,0,0,.1);
}
.dropdown-list.open { display: block; }
.item-stickmotove {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  cursor: pointer;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  transition: background .12s;
}
.item-stickmotove:hover { background: #fdf0f5; color: #fa3c7f; }
.item-stickmotove img { width: 32px; height: 32px; object-fit: cover; border-radius: 3px; }
.item-stickmotove.selected { background: #fdf0f5; font-weight: 600; }

/* ── Colorcard link ──────────────────────────────────────────── */
.colorcard {
  margin-top: 10px;
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  line-height: 1.8;
}
.colorcard a { color: #fa3c7f; text-decoration: underline; }
.colorcard a:hover { color: #d42d68; }

/* ── Hidden mit_name fields ──────────────────────────────────── */
.mit_name, .mit_name1, .mit_name2 { display: none; }
.mit_name.visible, .mit_name1.visible, .mit_name2.visible { display: flex !important; }

/* ── Mobile ──────────────────────────────────────────────────── */
@media(max-width:680px) {
  .KnofBox { flex-direction: column; gap: 14px; }
  .LeftSection, .rigthSection { min-width: 0; }
}

/* ── Force all KnofBox labels to be block (fixes inline label+select) ── */
.KnofBox label { display: block !important; }
.KnofBox select,
.KnofBox input[type="text"],
.KnofBox input[type="number"] { display: block !important; }

/* ── Colorcard ───────────────────────────────────────────────── */
.colorcard {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #f0ebe4;
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  line-height: 2;
}
.colorcard a {
  color: #fa3c7f;
  text-decoration: none;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.colorcard a:hover { text-decoration: underline; }
.colorcard a::before { content: '→'; font-size: 11px; }

/* ── KnofBox section divider ─────────────────────────────────── */
.LeftSection { border-right: 1px solid #f0ebe4; padding-right: 20px; }
@media(max-width:680px){ .LeftSection { border-right: none; padding-right: 0; border-bottom: 1px solid #f0ebe4; padding-bottom: 16px; } }

/* KnofBox select arrow (since inline style can't use url() safely) */
.KnofBox select,
select.attributePrice,
select.attributePriceRight {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23aaa'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 13px center !important;
  background-size: 10px !important;
}

/* ── WooCommerce native add-to-cart button — theme styled ── */
.dl-cart-form .single_add_to_cart_button,
.dl-product .single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button {
  background: #fa3c7f !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 16px 28px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  min-height: 52px !important;
  transition: background .15s, transform .1s !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin-top: 8px !important;
}
.dl-cart-form .single_add_to_cart_button:hover,
.dl-product .single_add_to_cart_button:hover {
  background: #d42d68 !important;
  transform: translateY(-1px) !important;
}

/* ── WooCommerce native quantity box — theme styled ───────── */
.dl-cart-form .quantity,
.dl-product .quantity,
.woocommerce div.product form.cart .quantity {
  display: flex !important;
  align-items: center !important;
  border: 1.5px solid #e0dbd5 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  background: #fff !important;
  margin-bottom: 12px !important;
  width: fit-content !important;
}
.dl-cart-form .quantity input.qty,
.dl-product .quantity input.qty {
  width: 56px !important;
  height: 52px !important;
  border: none !important;
  border-left: 1.5px solid #e0dbd5 !important;
  border-right: 1.5px solid #e0dbd5 !important;
  border-radius: 0 !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-family: 'DM Sans', sans-serif !important;
  color: #0f0d0c !important;
  background: #fff !important;
  padding: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  -moz-appearance: textfield !important;
}
.dl-cart-form .quantity input.qty::-webkit-inner-spin-button,
.dl-cart-form .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none !important; }

/* ══════════════════════════════════════════════════════════════
   SUBCATEGORY GRID — taxonomy-product_cat.php
   ══════════════════════════════════════════════════════════════ */

.dl-subcat-sec { margin-bottom: 8px; }

.dl-subcat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 18px;
}

.dl-subcat-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--rl);
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  color: var(--ink);
  transition: transform .22s, box-shadow .22s, border-color .22s;
  position: relative;
}
.dl-subcat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,.10);
  border-color: var(--pk);
}

.dl-subcat-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #f0ede8;
}
.dl-subcat-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s;
}
.dl-subcat-card:hover .dl-subcat-img-wrap img {
  transform: scale(1.06);
}
.dl-subcat-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.45) 0%, transparent 55%);
}
.dl-subcat-ico {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
}

.dl-subcat-body {
  padding: 14px 16px;
  flex: 1;
}
.dl-subcat-name {
  font-family: 'Cormorant', serif;
  font-size: 19px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 4px;
  line-height: 1.2;
}
.dl-subcat-count {
  font-size: 12px;
  color: var(--ink3);
  font-weight: 300;
}

.dl-subcat-arrow {
  position: absolute;
  bottom: 14px;
  right: 16px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--pkl);
  color: var(--pk);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  transition: all .2s;
}
.dl-subcat-card:hover .dl-subcat-arrow {
  background: var(--pk);
  color: #fff;
  transform: translateX(3px);
}

/* ── No products fallback ────────────────────────────────── */
.dl-no-products {
  text-align: center;
  padding: 64px 20px;
  background: #fff;
  border-radius: 14px;
  border: 1px solid var(--rl);
}
.dl-no-products-ico { font-size: 48px; margin-bottom: 14px; }
.dl-no-products p { font-size: 14px; color: var(--ink3); margin-bottom: 20px; }
.dl-no-products-btn {
  display: inline-block;
  padding: 12px 28px;
  background: var(--pk);
  color: #fff;
  border-radius: 24px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: background .15s;
}
.dl-no-products-btn:hover { background: var(--pk2); }

/* ── Responsive ──────────────────────────────────────────── */
@media(max-width:900px){
  .dl-subcat-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px; }
  .dl-subcat-name { font-size: 17px; }
}
@media(max-width:480px){
  .dl-subcat-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .dl-subcat-body { padding: 10px 12px; }
  .dl-subcat-name { font-size: 15px; }
  .dl-subcat-count { font-size: 11px; }
  .dl-subcat-arrow { width: 26px; height: 26px; font-size: 12px; bottom: 10px; right: 12px; }
}

/* ── Category page heading ──────────────────────────────── */
.dl-cat-heading { margin-bottom: 8px; }
.dl-cat-desc { font-size: 14px; color: var(--ink3); font-weight: 300; max-width: 700px; margin-bottom: 28px; line-height: 1.6; }

/* ── Spacing for subcategory section ────────────────────── */
.dl-subcat-sec { margin: 28px 0 8px; }
.dl-shop-cats { margin-bottom: 8px; }


/* ═══════════════════════════════════════════════════════════
   PRODUCT IMAGE HEIGHT — FINAL OVERRIDE (removes all cutting)
   ═══════════════════════════════════════════════════════════ */

/* Product card image wrapper — aspect ratio, no fixed height */
.dl-card-img-wrap,
.dogsland-woo .dl-card-img-wrap,
.woocommerce 
/* All product images — let aspect-ratio + object-fit handle sizing */
.dl-card-img-wrap img,
.dogsland-woo .dl-card-img-wrap img,
.woocommerce .dl-card-img-wrap img,
.dogsland-woo ul.products li.product img,
.dogsland-woo ul.products li.product a img,
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product a img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
}


/* ══════════════════════════════════════════════════
   PRODUCT CARD IMAGE — single definitive rule
   No fixed heights, no cutting, full image shown
   ══════════════════════════════════════════════════ */
.dl-card-img-wrap {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  background: #f5f2ef !important;
  flex-shrink: 0 !important;
}
.dl-card-img-wrap img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
  background: #f5f2ef !important;
}
.dl-shop-card:hover .dl-card-img-wrap img {
  transform: scale(1.02) !important;
}
.dogsland-woo ul.products li.product img,
.dogsland-woo ul.products li.product a img,
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product a img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
}
