/*
Theme Name: Slovski
Theme URI: https://www.slovski.be/
Author: Slovski vzw
Description: Fris, warm en toegankelijk WordPress-thema voor Slovski vzw. Gebouwd rond sneeuw, groepssfeer, Slovakije en duidelijke inschrijvingen.
Version: 1.0.13
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: slovski
Tags: custom-logo, featured-images, block-styles, woocommerce, responsive-layout
*/

:root {
  --slovski-blue: #0067A8;
  --slovski-night: #0B1F33;
  --slovski-white: #FFFFFF;
  --slovski-ice: #EAF6FF;
  --slovski-orange: #FF7A1A;
  --slovski-green: #5FBF5A;
  --slovski-grey: #5F6B7A;
  --slovski-soft-shadow: 0 18px 40px rgba(11,31,51,.10);
  --slovski-radius-sm: 8px;
  --slovski-radius-md: 16px;
  --slovski-radius-lg: 24px;
  --slovski-container: min(1120px, calc(100vw - 32px));
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--slovski-white);
  color: var(--slovski-night);
  font-family: "Inter", "Source Sans 3", Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 1.65;
}

body.nav-open {
  overflow: hidden;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: var(--slovski-blue);
  text-decoration-thickness: 2px;
  text-underline-offset: .22em;
}

a:hover,
a:focus-visible {
  color: var(--slovski-orange);
}

h1,
h2,
h3,
h4,
h5,
h6,
.site-title,
.slovski-btn,
.nav-menu,
button,
input[type="submit"] {
  font-family: "Poppins", Arial, Helvetica, sans-serif;
}

h1,
h2,
h3 {
  line-height: 1.12;
  margin: 0 0 .55em;
  color: var(--slovski-blue);
  letter-spacing: -0.03em;
}

h1 {
  font-size: clamp(2.4rem, 7vw, 4.8rem);
}

h2 {
  font-size: clamp(2rem, 4vw, 3rem);
}

h3 {
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

p {
  margin: 0 0 1.1rem;
}

.slovski-container {
  width: var(--slovski-container);
  margin-inline: auto;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
}

.skip-link {
  position: absolute;
  z-index: 9999;
  top: -48px;
  left: 16px;
  background: var(--slovski-night);
  color: #fff;
  padding: 10px 16px;
  border-radius: 999px;
}

.skip-link:focus {
  top: 16px;
}

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(0,103,168,.12);
  backdrop-filter: blur(16px);
}

.site-header__inner {
  width: var(--slovski-container);
  min-height: 78px;
  display: flex;
  align-items: center;
  gap: 14px;
  margin-inline: auto;
}

.slovski-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--slovski-night);
  text-decoration: none;
  min-width: max-content;
}

.slovski-brand .custom-logo-link,
.slovski-brand__fallback {
  display: inline-flex;
  align-items: center;
  color: var(--slovski-night);
  text-decoration: none;
}

.slovski-brand .custom-logo,
.slovski-brand__logo {
  display: block;
  width: auto;
  max-width: 190px;
  max-height: 62px;
  height: auto;
  object-fit: contain;
}

.slovski-brand-mark {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: var(--slovski-blue);
  color: #fff;
  font-family: "Poppins", Arial, sans-serif;
  font-weight: 800;
  font-size: 1.35rem;
  box-shadow: 0 12px 24px rgba(0,103,168,.22);
}

.slovski-brand-copy {
  display: grid;
  line-height: 1.1;
}

.site-title {
  font-weight: 800;
  color: var(--slovski-blue);
  font-size: 1.25rem;
  letter-spacing: -0.02em;
}

.site-tagline {
  color: var(--slovski-grey);
  font-size: .78rem;
}

.site-nav {
  margin-left: auto;
}

.nav-menu,
.nav-menu ul {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-menu a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 14px;
  border-radius: 999px;
  color: var(--slovski-night);
  font-weight: 600;
  font-size: .92rem;
  text-decoration: none;
}

.nav-menu a:hover,
.nav-menu a:focus-visible,
.nav-menu .current-menu-item > a {
  background: var(--slovski-ice);
  color: var(--slovski-blue);
}

.nav-menu .menu-item-slovski-signup > a,
.nav-menu a[href*="/product/"] {
  background: var(--slovski-orange);
  color: #fff;
  box-shadow: 0 12px 24px rgba(255,122,26,.22);
}

.nav-menu .menu-item-slovski-signup > a:hover,
.nav-menu .menu-item-slovski-signup > a:focus-visible,
.nav-menu a[href*="/product/"]:hover,
.nav-menu a[href*="/product/"]:focus-visible {
  background: #e8660d;
  color: #fff;
}

.slovski-cart-link {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  color: var(--slovski-blue);
  background: var(--slovski-ice);
  text-decoration: none;
  border: 1px solid rgba(0,103,168,.16);
}

.slovski-cart-link:hover,
.slovski-cart-link:focus-visible {
  color: #fff;
  background: var(--slovski-orange);
  border-color: var(--slovski-orange);
}

.slovski-cart-link svg {
  width: 25px;
  height: 25px;
}

.slovski-cart-count {
  position: absolute;
  top: -6px;
  right: -6px;
  display: grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--slovski-orange);
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(255,122,26,.28);
}

.slovski-cart-link:hover .slovski-cart-count,
.slovski-cart-link:focus-visible .slovski-cart-count {
  background: var(--slovski-night);
}

.header-cta {
  white-space: nowrap;
}

.nav-toggle {
  display: none;
  margin-left: auto;
  align-items: center;
  gap: 9px;
  border: 0;
  border-radius: 999px;
  background: var(--slovski-orange);
  color: #fff;
  min-height: 44px;
  padding: 8px 15px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(255,122,26,.20);
}

.nav-toggle:hover,
.nav-toggle:focus-visible {
  background: #e8660d;
}

.nav-toggle__icon,
.nav-toggle__icon::before,
.nav-toggle__icon::after {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
}

.nav-toggle__icon {
  position: relative;
}

.nav-toggle__icon::before,
.nav-toggle__icon::after {
  position: absolute;
  left: 0;
}

.nav-toggle__icon::before {
  top: -6px;
}

.nav-toggle__icon::after {
  top: 6px;
}

/* Buttons */
.slovski-btn,
.wp-block-button__link,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 48px;
  padding: 12px 22px;
  border: 2px solid transparent;
  border-radius: 999px;
  background: var(--slovski-orange);
  color: #fff !important;
  font-weight: 700;
  line-height: 1.1;
  text-decoration: none;
  box-shadow: 0 14px 28px rgba(255,122,26,.22);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.slovski-btn:hover,
.slovski-btn:focus-visible,
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  transform: translateY(-1px);
  background: #e96a10;
  box-shadow: 0 18px 34px rgba(255,122,26,.28);
}

.slovski-btn--secondary,
.wp-block-button.is-style-outline .wp-block-button__link {
  background: #fff;
  color: var(--slovski-blue) !important;
  border-color: rgba(0,103,168,.28);
  box-shadow: none;
}

.slovski-btn--secondary:hover,
.slovski-btn--secondary:focus-visible,
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
  background: var(--slovski-ice);
}

.slovski-btn--white {
  background: #fff;
  color: var(--slovski-blue) !important;
  box-shadow: 0 14px 28px rgba(11,31,51,.14);
}

.slovski-btn--small {
  min-height: 40px;
  padding: 10px 16px;
  font-size: .92rem;
}

/* Hero */
.slovski-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(120deg, rgba(11,31,51,.86), rgba(0,103,168,.78) 48%, rgba(0,103,168,.12)),
    var(--slovski-blue);
  color: #fff;
}

.slovski-hero::after {
  content: "";
  position: absolute;
  inset: auto -6vw -1px -6vw;
  height: 150px;
  background: var(--slovski-white);
  clip-path: polygon(0 48%, 18% 64%, 34% 45%, 52% 68%, 70% 42%, 86% 60%, 100% 44%, 100% 100%, 0 100%);
  opacity: 1;
}

.slovski-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
  align-items: center;
  gap: clamp(28px, 5vw, 72px);
  width: var(--slovski-container);
  min-height: 680px;
  margin-inline: auto;
  padding: 84px 0 140px;
}

.slovski-hero__copy {
  max-width: 680px;
}

.slovski-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.13);
  color: #fff;
  font-family: "Poppins", Arial, sans-serif;
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .02em;
}

.slovski-hero h1 {
  color: #fff;
  margin-top: 22px;
  margin-bottom: 20px;
}

.slovski-hero__lead {
  color: rgba(255,255,255,.88);
  font-size: clamp(1.08rem, 2vw, 1.36rem);
  max-width: 58ch;
}

.slovski-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.slovski-hero__visual {
  position: relative;
}

.slovski-hero-card {
  position: relative;
  min-height: 440px;
  overflow: hidden;
  border-radius: 32px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.08)),
    url("assets/images/hero-slovski.svg") center/cover no-repeat;
  box-shadow: 0 28px 70px rgba(0,0,0,.26);
  border: 1px solid rgba(255,255,255,.32);
}

.slovski-hero-card .slovski-hero-image {
  margin: 0;
  width: 100%;
  height: 100%;
  min-height: 440px;
}

.slovski-hero-card .slovski-hero-image img {
  display: block;
  width: 100%;
  min-height: 440px;
  height: 100%;
  object-fit: cover;
}

.slovski-sticker {
  position: absolute;
  right: 22px;
  bottom: 22px;
  display: grid;
  gap: 2px;
  width: min(210px, 58%);
  padding: 18px;
  border-radius: 22px;
  background: var(--slovski-orange);
  color: #fff;
  transform: rotate(-2deg);
  box-shadow: 0 18px 38px rgba(0,0,0,.22);
}

.slovski-sticker strong {
  font-family: "Poppins", Arial, sans-serif;
  font-size: 1.1rem;
  line-height: 1.1;
}

.slovski-sticker span {
  font-size: .9rem;
  opacity: .9;
}

/* Sections */
.slovski-section {
  padding: clamp(64px, 8vw, 108px) 0;
}

.slovski-section--ice {
  background: var(--slovski-ice);
}

.slovski-section--night {
  background: var(--slovski-night);
  color: #fff;
}

.slovski-section--night h2,
.slovski-section--night h3 {
  color: #fff;
}

.slovski-section__heading {
  display: grid;
  gap: 10px;
  max-width: 760px;
  margin-bottom: 34px;
}

.slovski-section__heading p {
  color: var(--slovski-grey);
  font-size: 1.06rem;
}

.slovski-section--night .slovski-section__heading p {
  color: rgba(255,255,255,.74);
}

/* Cards and grids */
.slovski-grid {
  display: grid;
  gap: 22px;
}

.slovski-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.slovski-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.slovski-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--slovski-radius-lg);
  background: #fff;
  padding: 28px;
  box-shadow: var(--slovski-soft-shadow);
  border: 1px solid rgba(0,103,168,.08);
}

.slovski-card--flat {
  box-shadow: none;
  border-color: rgba(0,103,168,.15);
}

.slovski-card h3 {
  margin-bottom: 12px;
  color: var(--slovski-night);
}

.slovski-card p,
.slovski-card li {
  color: var(--slovski-grey);
}

.slovski-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 18px;
  border-radius: 18px;
  background: var(--slovski-ice);
  color: var(--slovski-blue);
}

.slovski-icon img {
  width: 38px;
  height: 38px;
  display: block;
}

.slovski-info-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.slovski-info-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.slovski-info-list strong {
  color: var(--slovski-night);
}

.slovski-tick {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  margin-top: 2px;
  border-radius: 999px;
  background: rgba(95,191,90,.16);
  color: var(--slovski-green);
  font-weight: 800;
}

/* Trip feature */
.slovski-trip {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
  gap: 34px;
  align-items: stretch;
}

.slovski-trip__image {
  min-height: 440px;
  border-radius: 32px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(11,31,51,.05), rgba(11,31,51,.18)),
    url("assets/images/placeholder-group.svg") center/cover no-repeat;
  box-shadow: var(--slovski-soft-shadow);
  margin: 0;
}

.slovski-trip__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 440px;
  object-fit: cover;
}

.slovski-trip__content {
  display: grid;
  align-content: center;
  gap: 20px;
}

.slovski-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 6px;
}

.slovski-badge {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--slovski-ice);
  color: var(--slovski-blue);
  font-family: "Poppins", Arial, sans-serif;
  font-weight: 700;
  font-size: .85rem;
}

.slovski-badge--orange {
  background: rgba(255,122,26,.14);
  color: #b94f00;
}

.slovski-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.slovski-meta {
  border-radius: 18px;
  background: #fff;
  padding: 18px;
  border: 1px solid rgba(0,103,168,.12);
}

.slovski-meta span {
  display: block;
  color: var(--slovski-grey);
  font-size: .84rem;
  margin-bottom: 3px;
}

.slovski-meta strong {
  color: var(--slovski-night);
  font-family: "Poppins", Arial, sans-serif;
}

/* CTA band */
.slovski-cta-band {
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  background:
    linear-gradient(135deg, rgba(11,31,51,.96), rgba(0,103,168,.88)),
    var(--slovski-night);
  color: #fff;
  padding: clamp(30px, 5vw, 58px);
  box-shadow: 0 24px 60px rgba(11,31,51,.18);
}

.slovski-cta-band::after {
  content: "";
  position: absolute;
  right: -10%;
  bottom: -30%;
  width: 44%;
  aspect-ratio: 1;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
}

.slovski-cta-band h2,
.slovski-cta-band h3 {
  color: #fff;
}

.slovski-cta-band p {
  max-width: 62ch;
  color: rgba(255,255,255,.8);
}

/* Page */
.slovski-page-hero {
  background:
    linear-gradient(120deg, rgba(234,246,255,.92), rgba(255,255,255,.96)),
    url("assets/images/mountain-line.svg") center bottom/cover no-repeat;
  padding: clamp(58px, 8vw, 100px) 0;
  border-bottom: 1px solid rgba(0,103,168,.10);
}

.slovski-page-hero__inner {
  width: var(--slovski-container);
  margin-inline: auto;
  max-width: 860px;
}

.slovski-page-hero h1 {
  margin-top: 10px;
}

.slovski-page-content {
  width: min(860px, calc(100vw - 32px));
  margin: 0 auto;
  padding: clamp(52px, 7vw, 88px) 0;
}

.slovski-page-content > *:first-child {
  margin-top: 0;
}

.slovski-page-content h2 {
  margin-top: 1.5em;
}

.slovski-page-content ul,
.slovski-page-content ol {
  padding-left: 1.3em;
}

.slovski-page-content .wp-block-image img {
  border-radius: var(--slovski-radius-lg);
}

/* Contact */
.slovski-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(320px, 1.15fr);
  gap: 28px;
}

.slovski-contact-card {
  border-radius: var(--slovski-radius-lg);
  padding: 28px;
  background: var(--slovski-ice);
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid rgba(11,31,51,.18);
  border-radius: 14px;
  min-height: 48px;
  padding: 11px 14px;
  font: inherit;
  color: var(--slovski-night);
  background: #fff;
}

textarea {
  min-height: 150px;
}

label {
  color: var(--slovski-night);
  font-weight: 700;
}

/* WooCommerce */
.woocommerce-page .slovski-shop-shell,
.slovski-shop-shell {
  padding-block: clamp(42px, 6vw, 76px);
}

.woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(280px, .95fr) minmax(320px, 1.05fr);
  gap: 34px;
  align-items: start;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  float: none;
  width: auto;
}

.woocommerce div.product div.images img {
  border-radius: 28px;
  box-shadow: var(--slovski-soft-shadow);
}

.woocommerce div.product div.summary {
  border-radius: 28px;
  padding: clamp(24px, 4vw, 40px);
  background: #fff;
  border: 1px solid rgba(0,103,168,.12);
  box-shadow: var(--slovski-soft-shadow);
}

.woocommerce div.product .product_title {
  color: var(--slovski-blue);
  font-size: clamp(2rem, 4vw, 3rem);
}

.woocommerce div.product form.cart {
  display: grid;
  gap: 18px;
  margin-top: 22px;
}

.woocommerce div.product form.cart .button,
.woocommerce button.button.alt,
.woocommerce a.checkout-button {
  background: var(--slovski-orange) !important;
  border-radius: 999px !important;
  color: #fff !important;
}

.woocommerce table.shop_table,
.woocommerce-cart-form,
.woocommerce-checkout-review-order,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid rgba(0,103,168,.14);
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--slovski-soft-shadow);
}

.woocommerce table.shop_table th {
  background: var(--slovski-ice);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top-color: var(--slovski-blue);
  border-radius: 18px;
  background: var(--slovski-ice);
}

/* Footer */
.site-footer {
  background: var(--slovski-night);
  color: rgba(255,255,255,.75);
  padding: 56px 0 28px;
}

.site-footer a {
  color: #fff;
}

.site-footer__grid {
  width: var(--slovski-container);
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(180px, .4fr));
  gap: 30px;
  margin-inline: auto;
}

.site-footer h2,
.site-footer h3 {
  color: #fff;
  font-size: 1.08rem;
  margin-bottom: 14px;
}

.site-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer li + li {
  margin-top: 8px;
}

.site-footer__bottom {
  width: var(--slovski-container);
  margin: 36px auto 0;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.12);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  font-size: .92rem;
}

/* Blocks */
.alignwide {
  width: min(1120px, calc(100vw - 32px));
  margin-inline: auto;
}

.alignfull {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.has-slovski-blue-color {
  color: var(--slovski-blue) !important;
}

.has-slovski-blue-background-color {
  background-color: var(--slovski-blue) !important;
}

.has-apres-ski-orange-background-color {
  background-color: var(--slovski-orange) !important;
}

.has-ijsblauw-background-color {
  background-color: var(--slovski-ice) !important;
}

/* Responsive */


/* Cookiebanner: laat cookieknoppen niet overerven van de algemene Slovski-knopstijl. */
.cmplz-cookiebanner,
.cmplz-cookiebanner * {
  text-shadow: none !important;
}

.cmplz-cookiebanner .cmplz-title,
.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner .cmplz-categories,
.cmplz-cookiebanner .cmplz-category,
.cmplz-cookiebanner .cmplz-links,
.cmplz-cookiebanner p,
.cky-consent-container,
.cky-consent-container p,
.cky-consent-container .cky-title,
.cky-consent-container .cky-notice-des,
.cky-modal,
.cky-modal p {
  color: #0B1F33 !important;
}

.cmplz-cookiebanner .cmplz-btn,
.cmplz-cookiebanner button.cmplz-btn,
.cky-consent-container .cky-btn,
.cky-modal .cky-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 12px 20px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(11,31,51,.16) !important;
  background: #FFFFFF !important;
  color: #0B1F33 !important;
  box-shadow: none !important;
  font-family: "Poppins", Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept,
.cky-consent-container .cky-btn.cky-btn-accept,
.cky-modal .cky-btn.cky-btn-accept {
  background: #0067A8 !important;
  border-color: #0067A8 !important;
  color: #FFFFFF !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-deny,
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences,
.cky-consent-container .cky-btn.cky-btn-reject,
.cky-consent-container .cky-btn.cky-btn-customize,
.cky-modal .cky-btn.cky-btn-reject,
.cky-modal .cky-btn.cky-btn-customize {
  background: #FFFFFF !important;
  border-color: rgba(11,31,51,.16) !important;
  color: #0B1F33 !important;
}

.cmplz-cookiebanner .cmplz-btn:hover,
.cmplz-cookiebanner .cmplz-btn:focus-visible,
.cky-consent-container .cky-btn:hover,
.cky-consent-container .cky-btn:focus-visible,
.cky-modal .cky-btn:hover,
.cky-modal .cky-btn:focus-visible {
  transform: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

.cmplz-cookiebanner .cmplz-close,
.cmplz-cookiebanner button.cmplz-close,
.cky-consent-container .cky-btn-close,
.cky-modal .cky-btn-close {
  background: transparent !important;
  border: 0 !important;
  color: #0B1F33 !important;
  box-shadow: none !important;
  min-height: auto !important;
  padding: 0 !important;
}

@media (max-width: 980px) {
  .site-header__inner {
    min-height: 70px;
  }

  .nav-toggle {
    display: inline-flex;
    align-items: center;
  }

  .site-nav {
    position: fixed;
    z-index: 999;
    inset: 70px 0 auto 0;
    display: none;
    max-height: calc(100vh - 70px);
    overflow-y: auto;
    background: var(--slovski-night);
    border-bottom: 3px solid var(--slovski-orange);
    box-shadow: 0 24px 46px rgba(11,31,51,.28);
  }

  body.nav-open .site-nav {
    display: block;
  }

  .nav-menu,
  .nav-menu ul {
    display: grid;
    gap: 10px;
    width: min(520px, calc(100vw - 32px));
    padding: 20px 0 24px;
    margin-inline: auto;
  }

  .nav-menu a {
    justify-content: space-between;
    width: 100%;
    padding: 14px 18px;
    color: #fff;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
  }

  .nav-menu a:hover,
  .nav-menu a:focus-visible,
  .nav-menu .current-menu-item > a {
    background: rgba(255,255,255,.16);
    color: #fff;
  }

  .nav-menu .menu-item-slovski-signup > a,
  .nav-menu a[href*="/product/"] {
    background: var(--slovski-orange);
    color: #fff;
    border-color: var(--slovski-orange);
  }

  .slovski-hero__inner,
  .slovski-trip,
  .slovski-contact-grid,
  .woocommerce div.product {
    grid-template-columns: 1fr;
  }

  .slovski-hero__inner {
    min-height: auto;
    padding-top: 62px;
  }

  .slovski-hero-card {
    min-height: 330px;
  }

  .slovski-grid--3,
  .slovski-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-footer__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .site-header__inner {
    min-height: 66px;
  }

  .slovski-brand .custom-logo,
  .slovski-brand__logo {
    max-width: 138px;
    max-height: 48px;
  }

  .slovski-brand-mark {
    width: 42px;
    height: 42px;
  }

  .nav-toggle span:last-child {
    display: none;
  }

  .slovski-cart-link {
    width: 42px;
    height: 42px;
  }

  .site-nav {
    inset: 66px 0 auto 0;
    max-height: calc(100vh - 66px);
  }

  body {
    font-size: 16px;
  }

  .slovski-brand-copy .site-tagline {
    display: none;
  }

  .slovski-grid--3,
  .slovski-grid--4,
  .slovski-meta-grid {
    grid-template-columns: 1fr;
  }

  .slovski-card,
  .slovski-cta-band,
  .woocommerce div.product div.summary {
    border-radius: 20px;
    padding: 22px;
  }

  .slovski-actions {
    display: grid;
  }

  .slovski-actions .slovski-btn {
    width: 100%;
  }
}


/* Editable page content */
.slovski-editable-content > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

.slovski-editable-content .wp-block-group.slovski-hero,
.slovski-editable-content .wp-block-group.slovski-section {
  max-width: none;
}

.slovski-editable-content .wp-block-group.slovski-container {
  width: var(--slovski-container);
  margin-inline: auto;
}

.slovski-editable-content .wp-block-group.slovski-card,
.slovski-editable-content .wp-block-group.slovski-meta,
.slovski-editable-content .wp-block-group.slovski-cta-band {
  box-sizing: border-box;
}

.slovski-editable-content .wp-block-shortcode {
  margin: 0 0 18px;
}

.slovski-editable-content .slovski-card .wp-block-shortcode .slovski-icon {
  margin-bottom: 0;
}

.slovski-editable-content .slovski-hero__copy .wp-block-buttons,
.slovski-editable-content .slovski-trip__content .wp-block-buttons,
.slovski-editable-content .slovski-cta-band .wp-block-buttons {
  margin-top: 28px;
}

/* Stronger fallback for cookie banners where plug-in CSS loads after the theme */
.cmplz-cookiebanner .cmplz-btn,
.cmplz-cookiebanner button.cmplz-btn,
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn,
.cky-consent-container .cky-btn,
.cky-modal .cky-btn,
#cookie-law-info-bar .cli_action_button {
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept,
.cmplz-cookiebanner button.cmplz-accept,
.cky-consent-container .cky-btn.cky-btn-accept,
.cky-modal .cky-btn.cky-btn-accept,
#cookie-law-info-bar .cli_action_button#cookie_action_close_header {
  background: #0067A8 !important;
  border-color: #0067A8 !important;
  color: #FFFFFF !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-deny,
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences,
.cmplz-cookiebanner button.cmplz-deny,
.cmplz-cookiebanner button.cmplz-view-preferences,
.cmplz-cookiebanner button.cmplz-save-preferences,
.cky-consent-container .cky-btn.cky-btn-reject,
.cky-consent-container .cky-btn.cky-btn-customize,
.cky-modal .cky-btn.cky-btn-reject,
.cky-modal .cky-btn.cky-btn-customize,
#cookie-law-info-bar .cli_action_button:not(#cookie_action_close_header) {
  background: #FFFFFF !important;
  border-color: rgba(11,31,51,.18) !important;
  color: #0B1F33 !important;
}


/* v6 hard fix: Customizer controls must stay readable. */
body.wp-customizer #customize-controls .accordion-section-title,
body.wp-customizer #customize-controls .accordion-section-title span,
body.wp-customizer #customize-controls .accordion-section-title h3,
body.wp-customizer #customize-theme-controls .accordion-section-title,
body.wp-customizer #customize-theme-controls .accordion-section-title span,
body.wp-customizer #customize-theme-controls .accordion-section-title h3,
body.wp-customizer #customize-controls .control-section > .accordion-section-title,
body.wp-customizer #customize-theme-controls .control-section > .accordion-section-title {
  background: #FFFFFF !important;
  color: #1d2327 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}

body.wp-customizer #customize-controls .accordion-section-title:hover,
body.wp-customizer #customize-controls .accordion-section-title:focus,
body.wp-customizer #customize-controls .control-section.open > .accordion-section-title,
body.wp-customizer #customize-controls .control-section.current-panel > .accordion-section-title,
body.wp-customizer #customize-controls .control-section.current-section > .accordion-section-title,
body.wp-customizer #customize-theme-controls .accordion-section-title:hover,
body.wp-customizer #customize-theme-controls .accordion-section-title:focus,
body.wp-customizer #customize-theme-controls .control-section.open > .accordion-section-title,
body.wp-customizer #customize-theme-controls .control-section.current-panel > .accordion-section-title,
body.wp-customizer #customize-theme-controls .control-section.current-section > .accordion-section-title {
  background: #EAF6FF !important;
  color: #0067A8 !important;
}

body.wp-customizer #customize-controls .control-section.open > .accordion-section-title *,
body.wp-customizer #customize-controls .control-section.current-panel > .accordion-section-title *,
body.wp-customizer #customize-controls .control-section.current-section > .accordion-section-title *,
body.wp-customizer #customize-theme-controls .control-section.open > .accordion-section-title *,
body.wp-customizer #customize-theme-controls .control-section.current-panel > .accordion-section-title *,
body.wp-customizer #customize-theme-controls .control-section.current-section > .accordion-section-title * {
  color: #0067A8 !important;
}

/* v6 hard fix: cookiebanner buttons must not become white-on-white. */
.cmplz-cookiebanner,
.cmplz-cookiebanner *,
.cky-consent-container,
.cky-consent-container *,
.cky-modal,
.cky-modal * {
  text-shadow: none !important;
}

.cmplz-cookiebanner {
  --cmplz_button_accept_background_color: #0067A8 !important;
  --cmplz_button_accept_border_color: #0067A8 !important;
  --cmplz_button_accept_text_color: #FFFFFF !important;
  --cmplz_button_deny_background_color: #FFFFFF !important;
  --cmplz_button_deny_border_color: rgba(11,31,51,.18) !important;
  --cmplz_button_deny_text_color: #0B1F33 !important;
  --cmplz_button_settings_background_color: #FFFFFF !important;
  --cmplz_button_settings_border_color: rgba(11,31,51,.18) !important;
  --cmplz_button_settings_text_color: #0B1F33 !important;
}

.cmplz-cookiebanner .cmplz-btn:not(.cmplz-accept),
.cmplz-cookiebanner button.cmplz-btn:not(.cmplz-accept),
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn:not(.cmplz-accept),
.cky-consent-container .cky-btn:not(.cky-btn-accept),
.cky-modal .cky-btn:not(.cky-btn-accept) {
  background: #FFFFFF !important;
  border-color: rgba(11,31,51,.18) !important;
  color: #0B1F33 !important;
  opacity: 1 !important;
}

.cmplz-cookiebanner .cmplz-btn:not(.cmplz-accept) *,
.cky-consent-container .cky-btn:not(.cky-btn-accept) *,
.cky-modal .cky-btn:not(.cky-btn-accept) * {
  color: #0B1F33 !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept,
.cmplz-cookiebanner button.cmplz-btn.cmplz-accept,
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept,
.cky-consent-container .cky-btn.cky-btn-accept,
.cky-modal .cky-btn.cky-btn-accept {
  background: #0067A8 !important;
  border-color: #0067A8 !important;
  color: #FFFFFF !important;
  opacity: 1 !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept *,
.cky-consent-container .cky-btn.cky-btn-accept *,
.cky-modal .cky-btn.cky-btn-accept * {
  color: #FFFFFF !important;
}


/* v7 layout fix: force Slovski Gutenberg groups into the intended responsive layouts.
   WordPress block layout CSS can otherwise turn custom Group blocks back into a vertical flow. */
.slovski-editable-content .slovski-section,
.slovski-editable-content .wp-block-group.slovski-section {
  width: 100% !important;
  max-width: none !important;
}

.slovski-editable-content .slovski-container,
.slovski-page-content .slovski-container,
.editor-styles-wrapper .slovski-container {
  width: var(--slovski-container) !important;
  max-width: var(--slovski-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.slovski-editable-content .slovski-grid,
.slovski-page-content .slovski-grid,
.editor-styles-wrapper .slovski-grid {
  display: grid !important;
  gap: 22px !important;
  align-items: stretch !important;
}

.slovski-editable-content .slovski-grid--3,
.slovski-page-content .slovski-grid--3,
.editor-styles-wrapper .slovski-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.slovski-editable-content .slovski-grid--4,
.slovski-page-content .slovski-grid--4,
.editor-styles-wrapper .slovski-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.slovski-editable-content .slovski-trip,
.slovski-page-content .slovski-trip,
.editor-styles-wrapper .slovski-trip {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr) !important;
  gap: 34px !important;
  align-items: stretch !important;
}

.slovski-editable-content .slovski-meta-grid,
.slovski-page-content .slovski-meta-grid,
.editor-styles-wrapper .slovski-meta-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.slovski-editable-content .slovski-contact-grid,
.slovski-page-content .slovski-contact-grid,
.editor-styles-wrapper .slovski-contact-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .85fr) minmax(320px, 1.15fr) !important;
  gap: 28px !important;
  align-items: start !important;
}

.slovski-editable-content .slovski-card,
.slovski-page-content .slovski-card,
.editor-styles-wrapper .slovski-card {
  min-width: 0 !important;
  height: 100%;
}

@media (max-width: 980px) {
  .slovski-editable-content .slovski-grid--3,
  .slovski-editable-content .slovski-grid--4,
  .slovski-page-content .slovski-grid--3,
  .slovski-page-content .slovski-grid--4,
  .editor-styles-wrapper .slovski-grid--3,
  .editor-styles-wrapper .slovski-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .slovski-editable-content .slovski-trip,
  .slovski-editable-content .slovski-contact-grid,
  .slovski-page-content .slovski-trip,
  .slovski-page-content .slovski-contact-grid,
  .editor-styles-wrapper .slovski-trip,
  .editor-styles-wrapper .slovski-contact-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .slovski-editable-content .slovski-grid--3,
  .slovski-editable-content .slovski-grid--4,
  .slovski-page-content .slovski-grid--3,
  .slovski-page-content .slovski-grid--4,
  .editor-styles-wrapper .slovski-grid--3,
  .editor-styles-wrapper .slovski-grid--4,
  .slovski-editable-content .slovski-meta-grid,
  .slovski-page-content .slovski-meta-grid,
  .editor-styles-wrapper .slovski-meta-grid {
    grid-template-columns: 1fr !important;
  }
}


/* v8 layout reset: stable native Gutenberg layouts.
   We use real WordPress Columns for visual sections, then add Slovski styling.
   This avoids fragile "Group as grid" behaviour in the block editor and on the frontend. */

.slovski-editable-content,
.slovski-editable-content .entry-content,
.editor-styles-wrapper {
  overflow-x: clip;
}

.slovski-editable-content .slovski-section,
.slovski-editable-content section.slovski-section,
.editor-styles-wrapper .slovski-section {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  padding-top: clamp(56px, 7vw, 96px) !important;
  padding-bottom: clamp(56px, 7vw, 96px) !important;
}

.slovski-editable-content .slovski-section--ice,
.editor-styles-wrapper .slovski-section--ice {
  background: var(--slovski-ice) !important;
}

.slovski-editable-content .slovski-section--night,
.editor-styles-wrapper .slovski-section--night {
  background: var(--slovski-night) !important;
  color: #fff !important;
}

.slovski-editable-content .slovski-container,
.editor-styles-wrapper .slovski-container {
  width: var(--slovski-container) !important;
  max-width: var(--slovski-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Native columns: no more accidental single narrow left column on desktop. */
.slovski-editable-content .wp-block-columns.slovski-columns,
.editor-styles-wrapper .wp-block-columns.slovski-columns {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 24px !important;
  margin-top: 28px !important;
  margin-bottom: 0 !important;
  width: 100% !important;
}

.slovski-editable-content .wp-block-columns.slovski-columns > .wp-block-column,
.editor-styles-wrapper .wp-block-columns.slovski-columns > .wp-block-column {
  min-width: 0 !important;
  flex-grow: 1 !important;
  flex-basis: 0 !important;
}

.slovski-editable-content .wp-block-columns.slovski-columns--2 > .wp-block-column,
.editor-styles-wrapper .wp-block-columns.slovski-columns--2 > .wp-block-column {
  flex-basis: calc(50% - 12px) !important;
}

.slovski-editable-content .wp-block-columns.slovski-columns--3 > .wp-block-column,
.editor-styles-wrapper .wp-block-columns.slovski-columns--3 > .wp-block-column {
  flex-basis: calc(33.333% - 16px) !important;
}

.slovski-editable-content .wp-block-columns.slovski-columns--4 > .wp-block-column,
.editor-styles-wrapper .wp-block-columns.slovski-columns--4 > .wp-block-column {
  flex-basis: calc(25% - 18px) !important;
}

.slovski-editable-content .wp-block-column > .slovski-card,
.editor-styles-wrapper .wp-block-column > .slovski-card,
.slovski-editable-content .wp-block-column > .wp-block-group.slovski-card,
.editor-styles-wrapper .wp-block-column > .wp-block-group.slovski-card {
  height: 100%;
  margin: 0 !important;
}

/* Cards inside native columns. */
.slovski-editable-content .wp-block-group.slovski-card,
.editor-styles-wrapper .wp-block-group.slovski-card {
  display: block !important;
  padding: 28px !important;
  border-radius: var(--slovski-radius-lg) !important;
  background: #fff !important;
  border: 1px solid rgba(0,103,168,.10) !important;
  box-shadow: var(--slovski-soft-shadow) !important;
}

.slovski-editable-content .wp-block-group.slovski-card--flat,
.editor-styles-wrapper .wp-block-group.slovski-card--flat {
  box-shadow: none !important;
  border-color: rgba(0,103,168,.15) !important;
}

.slovski-editable-content .wp-block-group.slovski-card > *,
.editor-styles-wrapper .wp-block-group.slovski-card > * {
  margin-top: 0;
}

.slovski-editable-content .wp-block-group.slovski-card > *:last-child,
.editor-styles-wrapper .wp-block-group.slovski-card > *:last-child {
  margin-bottom: 0;
}

/* Better split sections. */
.slovski-editable-content .wp-block-columns.slovski-split,
.editor-styles-wrapper .wp-block-columns.slovski-split {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: clamp(28px, 5vw, 56px) !important;
  align-items: center !important;
}

.slovski-editable-content .slovski-split .wp-block-column,
.editor-styles-wrapper .slovski-split .wp-block-column {
  min-width: 0 !important;
}

.slovski-editable-content .slovski-split .wp-block-image,
.editor-styles-wrapper .slovski-split .wp-block-image {
  margin: 0 !important;
}

.slovski-editable-content .slovski-split .wp-block-image img,
.editor-styles-wrapper .slovski-split .wp-block-image img,
.slovski-editable-content .slovski-photo img,
.editor-styles-wrapper .slovski-photo img {
  width: 100%;
  display: block;
  border-radius: 28px;
  object-fit: cover;
  box-shadow: var(--slovski-soft-shadow);
}

/* Hero in editable content. */
.slovski-editable-content .wp-block-group.slovski-hero .slovski-hero__inner,
.editor-styles-wrapper .wp-block-group.slovski-hero .slovski-hero__inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr) !important;
  gap: clamp(28px, 5vw, 72px) !important;
  align-items: center !important;
}

.slovski-editable-content .wp-block-group.slovski-hero .wp-block-heading,
.editor-styles-wrapper .wp-block-group.slovski-hero .wp-block-heading,
.slovski-editable-content .wp-block-group.slovski-hero h1,
.editor-styles-wrapper .wp-block-group.slovski-hero h1 {
  color: #fff !important;
}

.slovski-editable-content .wp-block-group.slovski-hero .slovski-hero-card,
.editor-styles-wrapper .wp-block-group.slovski-hero .slovski-hero-card {
  position: relative !important;
}

.slovski-editable-content .slovski-hero-card .wp-block-image,
.editor-styles-wrapper .slovski-hero-card .wp-block-image {
  margin: 0 !important;
}

.slovski-editable-content .slovski-hero-card img,
.editor-styles-wrapper .slovski-hero-card img {
  width: 100%;
  min-height: 420px;
  object-fit: cover;
}

/* Meta cards: stable two-column cluster. */
.slovski-editable-content .wp-block-columns.slovski-meta-grid,
.editor-styles-wrapper .wp-block-columns.slovski-meta-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin-top: 22px !important;
}

.slovski-editable-content .wp-block-columns.slovski-meta-grid > .wp-block-column,
.editor-styles-wrapper .wp-block-columns.slovski-meta-grid > .wp-block-column {
  flex: 1 1 calc(50% - 7px) !important;
  min-width: 180px !important;
}

.slovski-editable-content .wp-block-group.slovski-meta,
.editor-styles-wrapper .wp-block-group.slovski-meta {
  background: var(--slovski-ice) !important;
  border-radius: 16px !important;
  padding: 16px !important;
  height: 100%;
}

.slovski-editable-content .wp-block-group.slovski-meta p,
.editor-styles-wrapper .wp-block-group.slovski-meta p {
  margin: 0 !important;
}

/* Lists and CTA */
.slovski-editable-content .slovski-info-list,
.editor-styles-wrapper .slovski-info-list {
  padding-left: 0 !important;
  list-style: none !important;
}

.slovski-editable-content .slovski-info-list li,
.editor-styles-wrapper .slovski-info-list li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.slovski-editable-content .slovski-cta-band,
.editor-styles-wrapper .slovski-cta-band {
  background: linear-gradient(135deg, var(--slovski-night), var(--slovski-blue)) !important;
  color: #fff !important;
  border-radius: 28px !important;
  padding: clamp(28px, 5vw, 54px) !important;
}

.slovski-editable-content .slovski-cta-band h2,
.slovski-editable-content .slovski-cta-band h3,
.editor-styles-wrapper .slovski-cta-band h2,
.editor-styles-wrapper .slovski-cta-band h3 {
  color: #fff !important;
}

/* Legacy v5/v6/v7 content fallback: if the page was not regenerated yet, at least make old grids presentable. */
.slovski-editable-content .wp-block-group.slovski-grid,
.editor-styles-wrapper .wp-block-group.slovski-grid {
  display: grid !important;
  width: 100% !important;
  gap: 24px !important;
  align-items: stretch !important;
}

.slovski-editable-content .wp-block-group.slovski-grid--3,
.editor-styles-wrapper .wp-block-group.slovski-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.slovski-editable-content .wp-block-group.slovski-grid--4,
.editor-styles-wrapper .wp-block-group.slovski-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.slovski-editable-content .wp-block-group.slovski-grid > .wp-block-group,
.editor-styles-wrapper .wp-block-group.slovski-grid > .wp-block-group,
.slovski-editable-content .wp-block-group.slovski-grid > article,
.editor-styles-wrapper .wp-block-group.slovski-grid > article {
  min-width: 0 !important;
}

@media (max-width: 1080px) {
  .slovski-editable-content .wp-block-columns.slovski-columns,
  .editor-styles-wrapper .wp-block-columns.slovski-columns,
  .slovski-editable-content .wp-block-columns.slovski-split,
  .editor-styles-wrapper .wp-block-columns.slovski-split {
    flex-wrap: wrap !important;
  }

  .slovski-editable-content .wp-block-columns.slovski-columns--4 > .wp-block-column,
  .editor-styles-wrapper .wp-block-columns.slovski-columns--4 > .wp-block-column,
  .slovski-editable-content .wp-block-columns.slovski-columns--3 > .wp-block-column,
  .editor-styles-wrapper .wp-block-columns.slovski-columns--3 > .wp-block-column {
    flex-basis: calc(50% - 12px) !important;
    flex-grow: 1 !important;
  }

  .slovski-editable-content .wp-block-group.slovski-grid--3,
  .slovski-editable-content .wp-block-group.slovski-grid--4,
  .editor-styles-wrapper .wp-block-group.slovski-grid--3,
  .editor-styles-wrapper .wp-block-group.slovski-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .slovski-editable-content .wp-block-group.slovski-hero .slovski-hero__inner,
  .editor-styles-wrapper .wp-block-group.slovski-hero .slovski-hero__inner {
    grid-template-columns: 1fr !important;
  }

  .slovski-editable-content .wp-block-columns.slovski-columns,
  .editor-styles-wrapper .wp-block-columns.slovski-columns,
  .slovski-editable-content .wp-block-columns.slovski-split,
  .editor-styles-wrapper .wp-block-columns.slovski-split {
    display: block !important;
  }

  .slovski-editable-content .wp-block-columns.slovski-columns > .wp-block-column,
  .editor-styles-wrapper .wp-block-columns.slovski-columns > .wp-block-column,
  .slovski-editable-content .wp-block-columns.slovski-split > .wp-block-column,
  .editor-styles-wrapper .wp-block-columns.slovski-split > .wp-block-column {
    margin-bottom: 18px !important;
  }

  .slovski-editable-content .wp-block-group.slovski-grid--3,
  .slovski-editable-content .wp-block-group.slovski-grid--4,
  .editor-styles-wrapper .wp-block-group.slovski-grid--3,
  .editor-styles-wrapper .wp-block-group.slovski-grid--4 {
    grid-template-columns: 1fr !important;
  }

  .slovski-editable-content .slovski-hero-card img,
  .editor-styles-wrapper .slovski-hero-card img {
    min-height: 280px;
  }
}


/* WooCommerce single product: description left, order form right */
.woocommerce-page.single-product .slovski-shop-shell,
.single-product .slovski-shop-shell {
  padding-block: clamp(34px, 5vw, 64px);
}

.woocommerce div.product.slovski-single-product {
  display: block;
}

.slovski-product-layout {
  width: var(--slovski-container);
  margin: clamp(34px, 5vw, 64px) auto clamp(48px, 6vw, 82px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 440px);
  gap: clamp(26px, 4vw, 44px);
  align-items: start;
}

.slovski-product-description-panel {
  min-width: 0;
}

.slovski-product-image {
  margin: 0 0 22px;
  overflow: hidden;
  border-radius: 28px;
  background: var(--slovski-ice);
  border: 1px solid rgba(0,103,168,.12);
  box-shadow: var(--slovski-soft-shadow);
}

.slovski-product-image img {
  display: block;
  width: 100%;
  height: auto;
}

.slovski-product-description-card,
.woocommerce div.product.slovski-single-product div.summary.slovski-product-order-card {
  border-radius: 28px;
  background: #fff;
  border: 1px solid rgba(0,103,168,.12);
  box-shadow: var(--slovski-soft-shadow);
}

.slovski-product-description-card {
  padding: clamp(24px, 4vw, 42px);
}

.slovski-product-description-card h2 {
  margin-top: 12px;
}

.slovski-product-description-content > *:first-child {
  margin-top: 0;
}

.slovski-product-description-content > *:last-child {
  margin-bottom: 0;
}

.slovski-product-description-content ul,
.slovski-product-description-content ol {
  padding-left: 1.25em;
}

.slovski-product-description-content img {
  border-radius: 20px;
}

.woocommerce div.product.slovski-single-product div.summary.slovski-product-order-card {
  float: none;
  width: auto;
  margin: 0;
  padding: clamp(24px, 3.4vw, 36px);
  position: sticky;
  top: 104px;
}

.woocommerce div.product.slovski-single-product .summary .slovski-badge {
  margin-bottom: 14px;
}

.woocommerce div.product.slovski-single-product .summary .product_title {
  font-size: clamp(2rem, 3.3vw, 2.9rem);
  margin-bottom: 12px;
}

.woocommerce div.product.slovski-single-product .summary .price {
  color: var(--slovski-blue);
  font-family: "Poppins", Arial, Helvetica, sans-serif;
  font-weight: 800;
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
  margin-bottom: 18px;
}

.woocommerce div.product.slovski-single-product .woocommerce-product-details__short-description {
  color: var(--slovski-grey);
  margin-bottom: 20px;
}

.woocommerce div.product.slovski-single-product form.cart {
  display: grid;
  gap: 16px;
  margin-top: 20px;
}

.woocommerce div.product.slovski-single-product form.cart table.variations {
  width: 100%;
  margin-bottom: 0;
}

.woocommerce div.product.slovski-single-product form.cart table.variations th,
.woocommerce div.product.slovski-single-product form.cart table.variations td {
  display: block;
  width: 100%;
  padding: 0;
  text-align: left;
}

.woocommerce div.product.slovski-single-product form.cart table.variations tr + tr th {
  padding-top: 14px;
}

.woocommerce div.product.slovski-single-product form.cart table.variations label {
  display: block;
  margin-bottom: 6px;
}

.woocommerce div.product.slovski-single-product form.cart table.variations select,
.woocommerce div.product.slovski-single-product form.cart .quantity .qty {
  width: 100%;
}

.woocommerce div.product.slovski-single-product form.cart .single_add_to_cart_button {
  width: 100%;
  min-height: 52px;
  font-size: 1rem;
}



/* Slovski v10: normale grootte voor radio- en checkboxvelden in WooCommerce/product add-ons.
   Vorige globale input-styling gaf ook radio buttons een breedte van 100% en min-height van 48px. */
input[type="radio"],
input[type="checkbox"] {
  width: auto;
  min-width: 0;
  max-width: none;
  min-height: 0;
  height: auto;
  padding: 0;
  border-radius: initial;
  background: initial;
  box-shadow: none;
  accent-color: var(--slovski-blue);
  display: inline-block;
  vertical-align: middle;
}

.woocommerce div.product.slovski-single-product input[type="radio"],
.woocommerce div.product.slovski-single-product input[type="checkbox"],
.woocommerce div.product.slovski-single-product .summary input[type="radio"],
.woocommerce div.product.slovski-single-product .summary input[type="checkbox"],
.woocommerce div.product.slovski-single-product form.cart input[type="radio"],
.woocommerce div.product.slovski-single-product form.cart input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  padding: 0 !important;
  margin: 0 10px 0 0 !important;
  flex: 0 0 18px !important;
  line-height: 1 !important;
  -webkit-appearance: auto !important;
  appearance: auto !important;
}

.woocommerce div.product.slovski-single-product form.cart label,
.woocommerce div.product.slovski-single-product .summary label {
  line-height: 1.35;
}

.woocommerce div.product.slovski-single-product .wc-pao-addon-wrap label,
.woocommerce div.product.slovski-single-product .wc-pao-addon label,
.woocommerce div.product.slovski-single-product .wapf-radio label,
.woocommerce div.product.slovski-single-product .wapf-checkbox label,
.woocommerce div.product.slovski-single-product .ywapo_input_container label,
.woocommerce div.product.slovski-single-product .tmcp-field-wrap label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
}

.woocommerce div.product.slovski-single-product .wc-pao-addon-wrap label input[type="radio"],
.woocommerce div.product.slovski-single-product .wc-pao-addon-wrap label input[type="checkbox"],
.woocommerce div.product.slovski-single-product .wc-pao-addon label input[type="radio"],
.woocommerce div.product.slovski-single-product .wc-pao-addon label input[type="checkbox"],
.woocommerce div.product.slovski-single-product .wapf-radio label input[type="radio"],
.woocommerce div.product.slovski-single-product .wapf-checkbox label input[type="checkbox"],
.woocommerce div.product.slovski-single-product .ywapo_input_container label input[type="radio"],
.woocommerce div.product.slovski-single-product .ywapo_input_container label input[type="checkbox"],
.woocommerce div.product.slovski-single-product .tmcp-field-wrap label input[type="radio"],
.woocommerce div.product.slovski-single-product .tmcp-field-wrap label input[type="checkbox"] {
  margin-right: 0 !important;
}


.slovski-product-after {
  width: var(--slovski-container);
  margin: 0 auto clamp(48px, 6vw, 82px);
}

.slovski-product-after .related,
.slovski-product-after .upsells {
  margin-top: 38px;
}

@media (max-width: 900px) {
  .slovski-product-layout {
    grid-template-columns: 1fr;
  }

  .woocommerce div.product.slovski-single-product div.summary.slovski-product-order-card {
    position: static;
    order: 1;
  }

  .slovski-product-description-panel {
    order: 2;
  }
}

@media (max-width: 640px) {
  .slovski-product-layout {
    width: min(100% - 28px, 1120px);
    margin-top: 28px;
    gap: 22px;
  }

  .slovski-product-description-card,
  .woocommerce div.product.slovski-single-product div.summary.slovski-product-order-card {
    border-radius: 22px;
    padding: 22px;
  }

  .slovski-product-image {
    border-radius: 22px;
  }
}


/* Slovski v11: WooCommerce keuzevelden altijd compact en naast hun label.
   Deze regels zijn bewust zeer specifiek, omdat enkele productoptie-plugins hun
   eigen radio/checkbox-styling na het thema kunnen laden. */
.woocommerce div.product.slovski-single-product form.cart input[type="radio"],
.woocommerce div.product.slovski-single-product form.cart input[type="checkbox"],
.woocommerce div.product.slovski-single-product form.cart .tmcp-field-wrap input[type="radio"],
.woocommerce div.product.slovski-single-product form.cart .tmcp-field-wrap input[type="checkbox"],
.woocommerce div.product.slovski-single-product form.cart input.tmcp-radio,
.woocommerce div.product.slovski-single-product form.cart input.tmcp-checkbox,
.woocommerce div.product.slovski-single-product form.cart input.tm-epo-field[type="radio"],
.woocommerce div.product.slovski-single-product form.cart input.tm-epo-field[type="checkbox"],
.woocommerce div.product.slovski-single-product form.cart .wc-pao-addon input[type="radio"],
.woocommerce div.product.slovski-single-product form.cart .wc-pao-addon input[type="checkbox"],
.woocommerce div.product.slovski-single-product form.cart .wapf-field-input input[type="radio"],
.woocommerce div.product.slovski-single-product form.cart .wapf-field-input input[type="checkbox"],
.woocommerce div.product.slovski-single-product form.cart .yith-wapo-option input[type="radio"],
.woocommerce div.product.slovski-single-product form.cart .yith-wapo-option input[type="checkbox"] {
  box-sizing: border-box !important;
  inline-size: 16px !important;
  block-size: 16px !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  padding: 0 !important;
  margin: 0 10px 0 0 !important;
  flex: 0 0 16px !important;
  align-self: center !important;
  float: none !important;
  clear: none !important;
  display: inline-block !important;
  vertical-align: middle !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  opacity: 1 !important;
  -webkit-appearance: auto !important;
  appearance: auto !important;
  accent-color: var(--slovski-blue) !important;
}

.woocommerce div.product.slovski-single-product form.cart input[type="radio"],
.woocommerce div.product.slovski-single-product form.cart input.tmcp-radio,
.woocommerce div.product.slovski-single-product form.cart input.tm-epo-field[type="radio"] {
  border-radius: 50% !important;
}

.woocommerce div.product.slovski-single-product form.cart .tmcp-ul-wrap,
.woocommerce div.product.slovski-single-product form.cart .tc-ul-wrap,
.woocommerce div.product.slovski-single-product form.cart .wc-pao-addon-wrap,
.woocommerce div.product.slovski-single-product form.cart .wapf-field-input,
.woocommerce div.product.slovski-single-product form.cart .yith-wapo-options {
  display: grid !important;
  gap: 10px !important;
  align-items: start !important;
}

.woocommerce div.product.slovski-single-product form.cart li:has(> input[type="radio"]),
.woocommerce div.product.slovski-single-product form.cart li:has(> input[type="checkbox"]),
.woocommerce div.product.slovski-single-product form.cart li:has(label > input[type="radio"]),
.woocommerce div.product.slovski-single-product form.cart li:has(label > input[type="checkbox"]),
.woocommerce div.product.slovski-single-product form.cart .tmcp-field-wrap,
.woocommerce div.product.slovski-single-product form.cart .tm-extra-product-options .tmcp-field-wrap,
.woocommerce div.product.slovski-single-product form.cart .tc-extra-product-options .tmcp-field-wrap,
.woocommerce div.product.slovski-single-product form.cart .tm-extra-product-options li:has(input[type="radio"]),
.woocommerce div.product.slovski-single-product form.cart .tm-extra-product-options li:has(input[type="checkbox"]),
.woocommerce div.product.slovski-single-product form.cart .wc-pao-addon-wrap label,
.woocommerce div.product.slovski-single-product form.cart .wc-pao-addon label:has(input[type="radio"]),
.woocommerce div.product.slovski-single-product form.cart .wc-pao-addon label:has(input[type="checkbox"]),
.woocommerce div.product.slovski-single-product form.cart .wapf-checkable,
.woocommerce div.product.slovski-single-product form.cart .wapf-label-text:has(input[type="radio"]),
.woocommerce div.product.slovski-single-product form.cart .wapf-label-text:has(input[type="checkbox"]),
.woocommerce div.product.slovski-single-product form.cart .yith-wapo-option label,
.woocommerce div.product.slovski-single-product form.cart label:has(> input[type="radio"]),
.woocommerce div.product.slovski-single-product form.cart label:has(> input[type="checkbox"]) {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  text-align: left !important;
}

.woocommerce div.product.slovski-single-product form.cart .tmcp-field-wrap label,
.woocommerce div.product.slovski-single-product form.cart .tmcp-field-wrap .tc-label,
.woocommerce div.product.slovski-single-product form.cart .tmcp-field-wrap .price,
.woocommerce div.product.slovski-single-product form.cart .wc-pao-addon-wrap label,
.woocommerce div.product.slovski-single-product form.cart .wapf-checkable label,
.woocommerce div.product.slovski-single-product form.cart .yith-wapo-option label {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  line-height: 1.35 !important;
}

.woocommerce div.product.slovski-single-product form.cart .tmcp-field-wrap *,
.woocommerce div.product.slovski-single-product form.cart .wc-pao-addon-wrap label *,
.woocommerce div.product.slovski-single-product form.cart .wapf-checkable *,
.woocommerce div.product.slovski-single-product form.cart .yith-wapo-option label * {
  vertical-align: middle !important;
}

.woocommerce div.product.slovski-single-product form.cart .tmcp-field-wrap .tm-label,
.woocommerce div.product.slovski-single-product form.cart .tmcp-field-wrap .tc-label,
.woocommerce div.product.slovski-single-product form.cart .wc-pao-addon-wrap label span,
.woocommerce div.product.slovski-single-product form.cart .wapf-checkable span,
.woocommerce div.product.slovski-single-product form.cart .yith-wapo-option label span {
  display: inline !important;
  flex: 1 1 auto !important;
}



/* v12: homepage hero desktop layout.
   The editable homepage uses Gutenberg groups. Some block styles can turn those
   groups into a vertical stack; this forces the intended layout only on wider
   screens: text left, image right. */
@media (min-width: 901px) {
  body.home .slovski-editable-content .wp-block-group.slovski-hero > .wp-block-group.slovski-hero__inner,
  body.front-page .slovski-editable-content .wp-block-group.slovski-hero > .wp-block-group.slovski-hero__inner,
  body.home .slovski-editable-content .slovski-hero__inner,
  body.front-page .slovski-editable-content .slovski-hero__inner,
  .editor-styles-wrapper .wp-block-group.slovski-hero > .wp-block-group.slovski-hero__inner,
  .editor-styles-wrapper .slovski-hero__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr) !important;
    grid-auto-flow: column !important;
    align-items: center !important;
    gap: clamp(32px, 5vw, 72px) !important;
    width: var(--slovski-container) !important;
    max-width: var(--slovski-container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.home .slovski-editable-content .slovski-hero__copy,
  body.front-page .slovski-editable-content .slovski-hero__copy,
  .editor-styles-wrapper .slovski-hero__copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
    max-width: 680px !important;
    margin: 0 !important;
  }

  body.home .slovski-editable-content .slovski-hero__visual,
  body.front-page .slovski-editable-content .slovski-hero__visual,
  .editor-styles-wrapper .slovski-hero__visual {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.home .slovski-editable-content .slovski-hero-card,
  body.front-page .slovski-editable-content .slovski-hero-card,
  .editor-styles-wrapper .slovski-hero-card {
    width: 100% !important;
    margin: 0 !important;
  }
}

/* Keep the hero intentionally stacked on smaller screens. */
@media (max-width: 900px) {
  body.home .slovski-editable-content .slovski-hero__inner,
  body.front-page .slovski-editable-content .slovski-hero__inner {
    grid-template-columns: 1fr !important;
  }
}


/* Slovski v13: hard fix homepage hero layout.
   The live homepage can contain editable Gutenberg groups where the visual block
   is rendered as a normal stacked block. These rules target the actual hero
   classes directly and do not depend on WordPress body classes. */
@media (min-width: 901px) {
  .slovski-hero > .slovski-hero__inner,
  .slovski-hero .slovski-hero__inner,
  .slovski-editable-content .slovski-hero > .slovski-hero__inner,
  .slovski-editable-content .slovski-hero .slovski-hero__inner,
  .slovski-hero.slovski-hero--layout-fixed .slovski-hero__inner--fixed,
  .editor-styles-wrapper .slovski-hero .slovski-hero__inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: clamp(40px, 5vw, 82px) !important;
    width: var(--slovski-container) !important;
    max-width: var(--slovski-container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    min-height: 680px !important;
    padding-top: 84px !important;
    padding-bottom: 140px !important;
  }

  .slovski-hero .slovski-hero__inner > .slovski-hero__copy,
  .slovski-editable-content .slovski-hero .slovski-hero__inner > .slovski-hero__copy,
  .slovski-hero.slovski-hero--layout-fixed .slovski-hero__inner--fixed > .slovski-hero__copy,
  .editor-styles-wrapper .slovski-hero .slovski-hero__inner > .slovski-hero__copy {
    order: 1 !important;
    flex: 0 1 52% !important;
    width: auto !important;
    max-width: 640px !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .slovski-hero .slovski-hero__inner > .slovski-hero__visual,
  .slovski-editable-content .slovski-hero .slovski-hero__inner > .slovski-hero__visual,
  .slovski-hero.slovski-hero--layout-fixed .slovski-hero__inner--fixed > .slovski-hero__visual,
  .editor-styles-wrapper .slovski-hero .slovski-hero__inner > .slovski-hero__visual {
    order: 2 !important;
    flex: 1 1 48% !important;
    width: auto !important;
    max-width: 560px !important;
    min-width: 380px !important;
    margin: 0 !important;
    align-self: center !important;
  }

  .slovski-hero .slovski-hero__visual .slovski-hero-card,
  .slovski-hero .slovski-hero-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

@media (max-width: 900px) {
  .slovski-hero > .slovski-hero__inner,
  .slovski-hero .slovski-hero__inner,
  .slovski-hero.slovski-hero--layout-fixed .slovski-hero__inner--fixed {
    display: block !important;
    min-height: auto !important;
    padding-top: 56px !important;
    padding-bottom: 96px !important;
  }

  .slovski-hero .slovski-hero__visual {
    margin-top: 32px !important;
  }
}
