/* Moonvibe Refined Classic — shared styling for Shoptet Classic (template 11).
   Content order, native commerce and existing landing-page styles stay native. */
:root {
  --mv-page: #f7f5f0;
  --mv-surface: #fffefa;
  --mv-ink: #171717;
  --mv-muted: #55514a;
  --mv-line: #ded8c9;
  --mv-gold: #b79740;
  --mv-gold-hover: #c3a452;
  --mv-green: #29483f;
  --mv-green-hover: #203b33;
  --mv-link: #80651f;
  --mv-body: "Source Sans 3", Arial, sans-serif;
  --mv-heading: "Exo 2", "Source Sans 3", Arial, sans-serif;
}
body.template-11 {
  font-family: var(--mv-body);
  font-size: 18px;
  line-height: 1.55;
  color: var(--mv-ink);
  background-color: var(--mv-page);
  background-image: none;
}
body.template-11 :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--mv-heading);
  font-weight: 600;
  line-height: 1.2;
  color: var(--mv-green);
}
body.template-11 h1 { font-size: clamp(30px, 2.6vw, 42px); margin-bottom: 24px; }
body.template-11 h2 { font-size: clamp(26px, 2.1vw, 34px); margin-bottom: 24px; }
body.template-11 h3 { font-size: 24px; margin-bottom: 16px; }
body.template-11 h4 { font-size: 20px; margin-bottom: 16px; }
body.template-11 :is(.welcome, .basic-description, .p-short-description) p { margin-bottom: 24px; }
body.template-11 :is(.welcome, .basic-description, .p-short-description),
body.template-11.type-page #content { overflow-wrap: anywhere; }
body.template-11 :is(.welcome, .basic-description, .p-short-description) li { margin-bottom: 12px; }
/* Normalize editor-supplied type overrides without rewriting content. */
body.template-11 :is(.welcome, .basic-description, .p-short-description) [style*="font-size"],
body.template-11.type-page #content [style*="font-size"] { font-size: inherit !important; }
body.template-11 :is(.welcome, .basic-description, .p-short-description) [style*="font-family"],
body.template-11.type-page #content [style*="font-family"] { font-family: inherit !important; }
body.template-11 :is(.welcome, .basic-description) a,
body.template-11.type-page #content :is(p, li) a {
  color: var(--mv-link);
  text-decoration: underline;
  text-underline-offset: 4px;
}
body.template-11 :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--mv-link);
  outline-offset: 3px;
}
body.template-11 :is(#header, .top-navigation-bar, #navigation, #footer) {
  background-color: var(--mv-surface);
  color: var(--mv-ink);
}
body.template-11 .top-navigation-bar { border-bottom: 1px solid var(--mv-line); font-size: 14px; }
body.template-11 .top-navigation-bar :is(a, button) { color: var(--mv-muted); }
body.template-11 #header .header-top { padding-block: 24px; }
body.template-11 #header .site-name img { max-width: 120px; max-height: 80px; }
body.template-11 #navigation { border-block: 1px solid var(--mv-line); }
body.template-11 #navigation :is(.navigation-in, .menu-level-1) { background: var(--mv-surface); }
body.template-11 #navigation .navigation-in > ul > li > a {
  min-height: 48px;
  padding: 12px 24px;
  font-size: 17px;
  font-weight: 600;
  line-height: 24px;
  color: var(--mv-ink);
  background: transparent;
}
body.template-11 #navigation .navigation-in > ul > li > a:hover {
  color: var(--mv-green);
  background: var(--mv-page);
}
body.template-11 #navigation ul li { border-color: var(--mv-line); }
body.template-11 #navigation .menu-level-2 { background: var(--mv-surface); }
body.template-11 #navigation .menu-level-2 a { color: var(--mv-ink); font-size: 17px; }
body.template-11 #navigation .menu-level-2 div > a { display: block; min-height: 48px; padding: 12px 16px; line-height: 24px; }
body.template-11 :is(.content-wrapper, .homepage-box) { background: var(--mv-page); }
body.template-11 :is(.content-wrapper-in, #content) { background: transparent; }
body.template-11 :is(.breadcrumbs, .category-header, .category-top) { border-color: var(--mv-line); }
body.template-11 .breadcrumbs { font-size: 15px; padding-block: 16px; }
body.template-11 :is(.category-top, .p-detail-inner-header) { padding-top: 24px; }
body.template-11 .btn {
  min-height: 48px;
  padding: 12px 20px;
  border-radius: 4px;
  font-family: var(--mv-body);
  font-size: 17px;
  font-weight: 600;
  line-height: 22px;
  text-transform: none;
  box-shadow: none;
}
body.template-11 :is(.btn-conversion, .btn-primary, .btn-default) {
  color: #fff;
  background: var(--mv-green);
  border-color: var(--mv-green);
}
body.template-11 :is(.btn-conversion, .btn-primary, .btn-default):hover {
  color: #fff;
  background: var(--mv-green-hover);
  border-color: var(--mv-green-hover);
}
body.template-11 .btn-secondary {
  color: var(--mv-link);
  background: var(--mv-surface);
  border: 1px solid var(--mv-gold);
}
body.template-11 .btn-secondary:hover { color: var(--mv-link); border-color: var(--mv-link); }
body.template-11 .form-control { min-height: 48px; font-size: 17px; border-radius: 4px; border-color: var(--mv-line); }
body.template-11 #header .search-input { height: 48px; }
body.template-11 .quantity { min-height: 48px; }
body.template-11 .quantity input.amount { height: 48px; font-size: 18px; }
/* Bound existing artwork; replacing the image-only hero is a separate content task. */
body.template-11 #carousel .carousel-inner { min-height: 0 !important; }
body.template-11 #carousel .item img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 520px;
  margin-inline: auto;
  object-fit: contain;
}
body.template-11 #carousel { margin-block: 32px; }
body.template-11 .benefitBanner { gap: 24px; padding-block: 48px; }
body.template-11 .benefitBanner__item { flex: 1 1 calc(25% - 18px); min-width: 0; margin: 0; background: var(--mv-surface); padding: 24px; border: 1px solid var(--mv-line); }
body.template-11 .benefitBanner__picture { flex: 0 0 72px; width: 72px; }
body.template-11 .benefitBanner__img { width: 72px; height: 72px; object-fit: contain; }
body.template-11 .benefitBanner__title { color: var(--mv-green); font-family: var(--mv-heading); font-size: 20px; line-height: 1.25; margin-bottom: 12px; }
body.template-11 .benefitBanner__data { font-size: 16px; line-height: 1.5; color: var(--mv-muted); }
body.template-11 .welcome { max-width: 900px; margin-inline: auto; padding-block: 32px 64px; }
body.template-11 .welcome img { max-width: 100%; height: auto; }
body.template-11 .welcome hr { margin-block: 48px; border-color: var(--mv-line); }
/* Keep native product count, order and grid; standardize each image field. */
body.template-11 .products-block .p { background: var(--mv-surface); border-color: var(--mv-line); }
body.template-11 .products-block .p > a.image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  background: #fff;
}
body.template-11 .products-block .p > a.image img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
}
body.template-11 .products-block .name { font-size: 20px !important; font-weight: 600; line-height: 1.3; color: var(--mv-ink); }
body.template-11 .products-block .p-in { padding: 20px 16px; }
body.template-11 .products-block :is(.availability, .p-desc) { font-size: 16px; line-height: 1.5; }
body.template-11 .products-block .price-final { font-size: 24px; color: var(--mv-ink); }
body.template-11 .products-block .flag-tip { background: var(--mv-gold); color: var(--mv-ink); }
body.template-11 .subcategories a { min-height: 48px; background: var(--mv-surface); border-color: var(--mv-line); font-size: 17px; }
body.template-11 .category-header { background: var(--mv-surface); font-size: 16px; margin-top: 24px; }
body.template-11 .p-detail-inner { padding-bottom: 48px; }
body.template-11 .p-short-description { font-size: 18px; max-width: 65ch; }
body.template-11 .basic-description { max-width: 900px; font-size: 18px; }
body.template-11 .p-detail-tabs { margin-top: 48px; }
body.template-11 .p-detail-tabs a { font-size: 18px; min-height: 48px; }
body.template-11 #footer { border-top: 0; padding-top: 48px; }
body.template-11 #footer h3 { font-size: 20px; text-transform: none; }
body.template-11 #footer :is(p, li) { font-size: 16px; line-height: 1.55; }
body.template-11 #footer .custom-footer a { color: var(--mv-muted); }
body.template-11 #footer .custom-footer a:hover { color: var(--mv-link); }
@media (min-width: 768px) {
  body.template-11 #navigation { min-height: 50px; }
}
@media (min-width: 768px) and (max-width: 1199px) {
  body.template-11 .benefitBanner__item { flex-basis: calc(50% - 12px); }
}
@media (max-width: 767px) {
  body.template-11 #header .header-top { padding-block: 8px; }
  body.template-11 #header .site-name img { max-width: 88px; max-height: 56px; }
  body.template-11 #navigation .navigation-in > ul > li > a { padding: 16px 24px; }
  body.template-11 #carousel { margin-block: 24px; }
  body.template-11 #carousel .item img { max-height: 360px; }
  body.template-11 .benefitBanner { display: flex; flex-direction: column; gap: 16px; padding-block: 32px; }
  body.template-11 .benefitBanner__item { flex-basis: 100%; padding: 16px; }
  body.template-11 .welcome { padding-block: 24px 48px; }
  body.template-11 .products-block .name { font-size: 18px !important; }
  body.template-11 .products-block .p-in { padding: 16px 12px; }
  body.template-11 .products-block .price-final { font-size: 22px; }
  body.template-11 .btn { padding-inline: 16px; }
  body.template-11 #footer { padding-top: 32px; }
}

/* Homepage layout. All original editorial wording and artwork retained. */
body.template-11.type-index:has(.mv-home) .before-carousel,
body.template-11.type-index:has(.mv-home) .content-wrapper.container:has(.position--benefitHomepage) { display: none; }
/* Preserve Classic's native skip-link target above the structured content. */
body.template-11.type-index:has(.mv-home) #content-wrapper { padding-block: 0; min-height: 0; }
body.template-11.type-index:has(.mv-home) #content .banners-row { display: none; }
body.template-11.type-index:has(.mv-home) .homepage-box.welcome-wrapper { padding-block: 0; border-top: 0; }
body.template-11.type-index:has(.mv-home) .welcome { max-width: 1200px; padding-block: 0; margin-block: 0; }
body.template-11.type-index:has(.mv-home) .welcome > div,
body.template-11 .welcome .mv-home { max-width: none; width: 100%; }
body.template-11 .mv-home { width: 100%; text-align: left; }
/* Classic constrains every welcome div; reset only this structured homepage. */
body.template-11 .welcome .mv-home div { max-width: none; margin-inline: 0; }
body.template-11 .mv-home :is(h1, h2, h3) strong { font-weight: inherit; }
body.template-11 .mv-home h1 { font-size: clamp(32px, 3.1vw, 48px); line-height: 1.13; max-width: 18ch; margin: 0 0 24px; }
body.template-11 .mv-home h2 { font-size: clamp(28px, 2.4vw, 36px); margin: 0 0 24px; }
body.template-11 .mv-hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); align-items: center; gap: 56px; padding-block: 40px; }
body.template-11 .mv-hero-copy { min-width: 0; }
body.template-11 .mv-hero .mv-standfirst { font-size: 23px; line-height: 1.4; margin-bottom: 20px; }
body.template-11 .mv-hero .mv-hero-description { font-size: 18px; line-height: 1.55; margin-bottom: 28px; }
body.template-11 .mv-hero-media { display: flex; align-items: center; justify-content: center; }
body.template-11 .mv-hero-media img { display: block; width: 100%; height: auto; max-width: 440px; aspect-ratio: 1; object-fit: contain; }
body.template-11 .mv-actions { display: flex; flex-wrap: wrap; gap: 12px; }
body.template-11 .mv-home .mv-actions .btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
body.template-11 .mv-home .mv-actions .btn-primary { color: #fff; }
body.template-11 .mv-home .mv-actions .btn-secondary { color: var(--mv-link); }
body.template-11 .mv-section { padding-block: 56px; border-top: 0; }
body.template-11 .mv-types { padding-block: 32px 48px; }
body.template-11 .welcome .mv-home .mv-type-intro { max-width: 85ch; margin: 28px 0 0; }
body.template-11 .mv-type-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
body.template-11 .mv-home .mv-type-card { display: block; padding: 16px; background: var(--mv-surface); border: 1px solid var(--mv-gold); color: var(--mv-ink); text-decoration: none; }
body.template-11 .mv-home .mv-type-card a { display: block; color: var(--mv-green); text-decoration: none; }
body.template-11 .mv-type-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; background: #fff; }
body.template-11 .mv-type-card h3 { font-size: 24px; margin: 20px 0 4px; }
body.template-11 .mv-type-card:hover h3 { color: var(--mv-link); text-decoration: underline; text-underline-offset: 4px; }
body.template-11 .mv-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; align-items: center; }
body.template-11 .mv-supporting-image img { display: block; width: 100%; height: auto; max-height: 420px; object-fit: contain; }
body.template-11 .mv-details { margin-top: 32px; border: 1px solid var(--mv-line); background: var(--mv-surface); }
body.template-11 .mv-details summary { display: list-item; list-style: disclosure-closed inside; min-height: 56px; padding: 16px 20px; cursor: pointer; font-size: 18px; font-weight: 600; color: var(--mv-ink); }
body.template-11 .mv-details[open] summary { list-style-type: disclosure-open; }
body.template-11 .mv-details summary:focus-visible { outline: 3px solid var(--mv-link); outline-offset: 3px; }
body.template-11 .mv-details-content { padding: 20px; }
body.template-11 .mv-details-content img { display: block; width: min(100%, 800px); height: auto; margin-inline: auto; }
body.template-11 .mv-benefit-section .mv-benefits { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 24px; }
body.template-11 .mv-benefits .benefitBanner__item { display: flex; flex-direction: column; align-items: flex-start; padding: 24px; }
body.template-11 .mv-benefits .benefitBanner__picture { flex: 0 0 auto; width: 56px; margin: 0 0 16px; }
body.template-11 .mv-benefits .benefitBanner__img { width: 56px; height: 56px; }
body.template-11 .mv-benefits .benefitBanner__content { width: 100%; padding: 0; margin: 0; }
body.template-11 .mv-benefits .benefitBanner__title { display: block; }
body.template-11 .mv-review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-block: 28px; }
body.template-11 .mv-review-grid blockquote { margin: 0; padding: 24px; border: 1px solid var(--mv-line); border-left: 3px solid var(--mv-gold); background: var(--mv-surface); font-size: 18px; }
body.template-11 .mv-review-grid blockquote p { margin-bottom: 0; }
body.template-11 .mv-home .mv-section-note { margin-top: -12px; color: var(--mv-muted); font-size: 16px; }
body.template-11 .mv-final { text-align: center; padding-bottom: 64px; }
body.template-11 .mv-final > img { display: block; width: min(100%, 900px); height: auto; margin: 0 auto 32px; }
body.template-11 .mv-final .mv-actions { justify-content: center; }
body.template-11 .mv-home .mv-faq-link { margin: 24px 0 0; }
@media (min-width: 768px) and (max-width: 1199px) {
  body.template-11 .mv-hero { gap: 32px; padding-block: 40px; }
  body.template-11 .mv-split { gap: 32px; }
}
@media (max-width: 767px) {
  body.template-11 .mv-hero { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-block: 28px 36px; }
  body.template-11 .mv-home h1 { font-size: 32px; max-width: none; margin-bottom: 20px; }
  body.template-11 .mv-hero .mv-standfirst { font-size: 20px; margin-bottom: 20px; }
  body.template-11 .mv-hero .mv-hero-description { font-size: 17px; line-height: 1.5; margin-bottom: 24px; }
  body.template-11 .mv-hero-media img { max-width: 360px; }
  body.template-11 .mv-section { padding-block: 36px; }
  body.template-11 .mv-type-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  body.template-11 .mv-type-card { padding: 12px; }
  body.template-11 .mv-type-card h3 { font-size: 22px; margin-top: 16px; }
  body.template-11 .mv-split { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.template-11 .mv-benefit-section .mv-benefits { gap: 16px; }
  body.template-11 .mv-benefits .benefitBanner__item { flex-direction: row; gap: 16px; padding: 16px; }
  body.template-11 .mv-benefits .benefitBanner__picture { flex: 0 0 56px; margin: 0; }
  body.template-11 .mv-benefits .benefitBanner__content { min-width: 0; width: auto; }
  body.template-11 .mv-review-grid { grid-template-columns: minmax(0, 1fr); }
  body.template-11 .mv-review-grid blockquote { padding: 20px; }
  body.template-11 .mv-details summary { padding-inline: 16px; }
  body.template-11 .mv-details-content { padding: 12px; }
  body.template-11 .mv-final { padding-bottom: 48px; }
}

/* Forest green with antique gold: palette-only refinements. */
body.template-11 #header .search .btn { color: var(--mv-ink); background: var(--mv-gold); border-color: var(--mv-gold); }
body.template-11 #header .search .btn:hover { color: var(--mv-ink); background: var(--mv-gold-hover); border-color: var(--mv-gold-hover); }
body.template-11 #dklab_instagram_widget_heading { color: var(--mv-green); }
