/* Dansk Vingummi shop theme, matched to the main site's cream and berry design. */
:root {
  --dv-burgundy: #641724;
  --dv-berry: #a7293a;
  --dv-citrus: #e7b83f;
  --dv-leaf: #58764a;
  --dv-bg: #fff8ed;
  --dv-card: #fffdf8;
  --dv-ink: #302321;
  --dv-muted: #705e56;
  --dv-line: #eadbc9;
  --dv-shadow: 0 18px 50px rgba(69, 25, 32, .09);
  color-scheme: light;
}

html { background: var(--dv-bg); scroll-behavior: smooth; }
body {
  color: var(--dv-ink);
  background: var(--dv-bg);
  font-family: Arial, Helvetica, sans-serif;
}
body a, body a:visited { color: var(--dv-burgundy); }
body a:hover { color: var(--dv-berry); }

.shop-header {
  min-height: 112px;
  padding: 10px clamp(20px, 4vw, 68px);
  gap: 24px;
  background: var(--dv-bg);
  border-bottom: 1px solid var(--dv-line);
  box-shadow: none;
  backdrop-filter: none;
}
.brand-link { flex: 0 0 auto; display: flex; align-items: center; }
.brand-link img {
  display: block;
  width: 116px;
  height: 100px;
  object-fit: contain;
}
.header-actions { gap: clamp(10px, 1.6vw, 24px); }
.langs { align-items: center; gap: 6px; }
.langs a, .langs a:visited {
  color: var(--dv-burgundy);
  padding: 9px 11px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 12px;
  font-weight: 800;
}
.langs a.webshop-main-link { margin-right: 8px; }
.langs a.active {
  background: var(--dv-burgundy);
  color: var(--dv-bg);
}
.account-header-link, .account-header-logout-link {
  color: var(--dv-burgundy) !important;
  text-decoration: none;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}
.cart-link, .cart-link:visited {
  color: var(--dv-bg) !important;
  padding: 12px 17px;
  border-radius: 999px;
  background: var(--dv-burgundy);
  text-decoration: none;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
}
.cart-link span {
  color: var(--dv-burgundy);
  background: var(--dv-citrus);
}

.test-banner {
  border: 1px solid #ecd48d;
  border-radius: 999px;
  background: #fff4cf;
  color: #594519;
}
.test-banner strong { color: var(--dv-burgundy); }
.flash { box-shadow: 0 8px 24px rgba(48, 35, 33, .06); }
.flash.success { background: #edf5e8; border-color: #c7d9ba; color: #31563b; }
.flash.error { background: #fff0ed; border-color: #e9b6ad; color: #7f2e27; }

.product-shell {
  width: min(1600px, calc(100% - 64px));
  margin: 42px auto 76px;
  padding: clamp(24px, 4.3vw, 64px);
  gap: clamp(34px, 5vw, 82px);
  border: 1px solid var(--dv-line);
  border-radius: 42px;
  background: linear-gradient(135deg, var(--dv-card), #fff9ef 74%, #f8eedf);
  box-shadow: var(--dv-shadow);
}
.product-visual {
  min-height: clamp(360px, 42vw, 610px);
  border: 1px solid #f0e1ce;
  border-radius: 32px;
  background: #fff8ed;
  box-shadow: inset 0 0 0 10px rgba(255, 253, 248, .55);
}
.product-glow { display: none; }
.product-visual img {
  width: min(92%, 760px);
  max-height: 560px;
  object-fit: contain;
  filter: drop-shadow(0 24px 30px rgba(69, 25, 32, .16));
}
.product-info { padding: 10px 0; }
.eyebrow, .shop-products-heading .eyebrow {
  color: var(--dv-berry);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.product-info h1 {
  color: var(--dv-burgundy);
  font-size: clamp(46px, 6.1vw, 82px);
  line-height: .98;
  letter-spacing: -.055em;
}
.product-info h1 span { color: var(--dv-berry); }
.lead { color: var(--dv-muted); line-height: 1.65; }
.price { color: var(--dv-burgundy); }
.price-soon { color: var(--dv-muted); }
.compare-price, .card-compare-price { color: #8e7d72; }
.availability.available { background: #e8f2e2; color: #38583a; }
.availability.unavailable { background: #fae9e5; color: #8a3d34; }

button, .primary-button, .shop-card-buy, .account-dashboard-buy,
.checkout-submit, input[type="submit"], input[type="button"] {
  border-color: var(--dv-burgundy);
  background: var(--dv-burgundy);
  color: #fff8ed;
  box-shadow: 0 8px 18px rgba(100, 23, 36, .12);
}
button:hover, .primary-button:hover, .shop-card-buy:hover,
.account-dashboard-buy:hover, .checkout-submit:hover,
input[type="submit"]:hover, input[type="button"]:hover {
  background: var(--dv-berry);
  border-color: var(--dv-berry);
  color: #fffdf8;
}
button:focus-visible, a:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--dv-citrus);
  outline-offset: 3px;
}
input, select, textarea,
.shop-card-quantity select, .buy-form select {
  border-color: var(--dv-line);
  background: var(--dv-card);
  color: var(--dv-ink);
}
input:focus, select:focus, textarea:focus { border-color: var(--dv-berry); }
.buy-form label, .checkout-form label, .admin-edit label { color: var(--dv-muted); }

.shop-products-section {
  width: min(1500px, calc(100% - 64px));
  margin: 0 auto 82px;
}
.shop-products-heading { align-items: end; margin-bottom: 24px; }
.shop-products-heading h2 { color: var(--dv-burgundy); }
.shop-products-heading > p { color: var(--dv-muted); }
.shop-product-card {
  border: 1px solid var(--dv-line);
  border-radius: 24px;
  background: var(--dv-card);
  box-shadow: 0 12px 34px rgba(69, 25, 32, .07);
  overflow: hidden;
}
.shop-product-card-image {
  min-height: 235px;
  background: #fff8ed;
  border-bottom: 1px solid var(--dv-line);
}
.shop-product-card-image img { object-fit: contain; }
.shop-product-card-body { padding: 21px; }
.shop-product-card-topline { color: #86756a; }
.shop-product-card h3 { color: var(--dv-burgundy); }
.shop-product-card h3 span { color: var(--dv-berry); }
.shop-product-card p { color: var(--dv-muted); }
.mini-stock.yes { background: #e8f2e2; color: #38583a; }
.mini-stock.no { background: #fae9e5; color: #8a3d34; }
.shop-card-quantity span { color: var(--dv-muted); }
.shop-card-quantity select { color: var(--dv-ink); }
.shop-sold-out-badge { background: var(--dv-citrus); color: var(--dv-burgundy); }
.product-read-more summary, .text-link { color: var(--dv-berry); }
.product-long-description { color: var(--dv-muted); }

.narrow-page, .checkout-grid { margin-top: 42px; margin-bottom: 76px; }
.panel, .checkout-form-panel, .order-summary, .account-flat-section,
.account-auth-card, .account-stat-grid > div, .account-order-side > section,
.chpay-summary, .chpay-payment {
  border: 1px solid var(--dv-line);
  border-radius: 24px;
  background: var(--dv-card);
  color: var(--dv-ink);
  box-shadow: 0 12px 34px rgba(69, 25, 32, .06);
}
.panel h1, .panel h2, .checkout-form-panel h1,
.account-shell h1, .account-shell h2 { color: var(--dv-burgundy); }
.panel p, .panel li, .checkout-form-panel p, .account-muted,
.account-page-head p:last-child { color: var(--dv-muted); }
.cart-item { border-color: var(--dv-line); background: #fffaf2; }
.cart-item small, .muted { color: var(--dv-muted); }
.summary-row, .checkout-item { border-color: var(--dv-line); }
.summary-row strong, .checkout-section-heading, .account-order-row { color: var(--dv-burgundy); }
.shipping-option { border-color: var(--dv-line); background: #fffaf2; }
.warning { border-color: #ecd48d; background: #fff4cf; color: #594519; }

.account-nav { border-color: var(--dv-line); }
.account-nav a { color: var(--dv-muted); }
.account-nav a:hover, .account-nav a.is-active { background: #f4e5d7; color: var(--dv-burgundy); }
.account-kicker, .account-section-head a, .account-row-arrow,
.account-forgot-link { color: var(--dv-berry); }
.account-stat-grid > div { border-bottom: 1px solid var(--dv-line); }
.account-stat-grid span, .account-order-row > div span,
.account-order-row > span:not(.status-badge):not(.account-row-arrow) { color: var(--dv-muted); }
.account-order-row { border-color: var(--dv-line); }
.account-flat-section { padding: 24px; }
.account-form label, .account-profile-form label { color: var(--dv-muted); }
.account-form input, .account-profile-form input,
.account-profile-form select { background: #fffdf8; border-color: var(--dv-line); color: var(--dv-ink); }
.account-auth-card { background: var(--dv-card); }
.account-auth-brand { color: var(--dv-burgundy); }
.account-auth-intro { color: var(--dv-muted); }
.account-alert.error { border-color: #e9b6ad; background: #fff0ed; color: #7f2e27; }
.account-alert.success { border-color: #c7d9ba; background: #edf5e8; color: #31563b; }
.secondary-button, .account-dashboard-logout { border-color: var(--dv-line); background: #fffaf2; color: var(--dv-burgundy); }

.shop-footer {
  border-color: var(--dv-line);
  color: var(--dv-muted);
}
.shop-footer a, .shop-footer a:visited { color: var(--dv-burgundy); }
.v575-home-box-cta, .v575-cart-box {
  border-color: var(--dv-line);
  background: var(--dv-card);
  box-shadow: var(--dv-shadow);
}
.v575-home-box-cta h2, .v575-cart-box-top strong { color: var(--dv-burgundy); }
.v575-home-box-cta p, .v575-cart-box p { color: var(--dv-muted); }
.v575-home-box-cta > div > span, .v575-home-levels small,
.v575-cart-box-top > span, .v575-cart-saving { color: var(--dv-berry); }
.v575-home-levels b { border-color: var(--dv-line); color: var(--dv-ink); }
.v575-cart-progress { background: #f0e4d5; }
.v575-cart-progress i { background: var(--dv-berry); }
.v575-cart-saving { border-color: var(--dv-line); }
.v575-cart-saving.final { color: var(--dv-burgundy); }
.v575-home-box-cta > a { background: var(--dv-burgundy); color: var(--dv-bg); }
.v575-checkout-box-hint { border-color: var(--dv-line); color: var(--dv-muted); }

@media (max-width: 900px) {
  .shop-header { min-height: 90px; }
  .brand-link img { width: 92px; height: 78px; }
  .header-actions { gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
  .product-shell { width: min(100% - 28px, 720px); margin: 22px auto 50px; padding: 20px; border-radius: 28px; }
  .product-visual { min-height: 330px; }
  .shop-products-section { width: min(100% - 28px, 720px); }
}
@media (max-width: 620px) {
  .shop-header { align-items: center; padding: 8px 14px; gap: 8px; }
  .brand-link img { width: 72px; height: 68px; }
  .header-actions { gap: 4px; }
  .langs { gap: 0; }
  .langs a { padding: 7px 6px; font-size: 10px; }
  .langs a.webshop-main-link { margin-right: 0; font-size: 9px; }
  .account-header-link, .account-header-logout-link { font-size: 9px; }
  .cart-link, .cart-link:visited { padding: 9px 11px; font-size: 10px; }
  .product-shell { width: calc(100% - 20px); padding: 12px; gap: 22px; border-radius: 22px; }
  .product-visual { min-height: 270px; border-radius: 18px; }
  .product-info { padding: 4px 7px 12px; }
  .product-info h1 { font-size: clamp(42px, 13vw, 64px); }
  .shop-products-section { width: calc(100% - 24px); }
  .shop-products-heading { display: block; }
  .shop-products-heading > p { margin-top: 12px; }
  .narrow-page, .checkout-grid { width: calc(100% - 20px); }
  .panel { padding: 20px; border-radius: 18px; }
  .account-shell { width: calc(100% - 20px); }
  .account-flat-section { padding: 18px; }
  .shop-footer { flex-direction: column; }
}

/* DANSK VINGUMMI MATCHING FOOTER START */
.shop-footer {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 72px 0 0;
  padding: 26px clamp(24px, 5vw, 76px);
  border: 0;
  border-top: 1px solid rgba(255, 248, 237, .2);
  background: var(--dv-burgundy, #641724);
  color: var(--dv-bg, #fff8ed);
  font-size: 14px;
}

.shop-footer-inner {
  width: min(100%, 1400px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 24px;
}

.shop-footer-copy {
  margin: 0;
  color: inherit;
  text-align: left;
}

.shop-footer .shop-footer-home,
.shop-footer .shop-footer-home:visited {
  justify-self: end;
  color: var(--dv-citrus, #e7b83f);
  text-decoration: none;
  font-weight: 800;
}

.shop-footer .shop-footer-home:hover,
.shop-footer .shop-footer-home:focus-visible {
  color: #fff8ed;
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 640px) {
  .shop-footer { margin-top: 48px; padding: 24px 20px; }
  .shop-footer-inner { grid-template-columns: 1fr; justify-items: center; gap: 13px; }
  .shop-footer-copy, .shop-footer .shop-footer-home { justify-self: center; text-align: center; }
  .shop-footer-copy { order: 3; font-size: 12px; }
}
/* DANSK VINGUMMI MATCHING FOOTER END */
