/*
 Theme Name: Kadence Child - MORAN
 Template:   kadence
 Version:    2.0.0
*/

/* ============================================
   ЗМІСТ
   01. FONTS
   02. DESIGN TOKENS
   03. BASE
   04. TYPOGRAPHY
   05. BUTTONS
   06. HEADER / NAV
   07. HERO
   08. COMPONENTS
   09. FOOTER
   10. WOOCOMMERCE — GLOBAL
   11. WOOCOMMERCE — PRODUCT PAGE
   12. WOOCOMMERCE — CART
   13. WOOCOMMERCE — CHECKOUT
   14. UTILITIES
   15. RESPONSIVE
   ============================================ */


/* ============================================
   01. FONTS
   ============================================ */

@font-face {
  font-family: "Gilroy";
  src: url("fonts/Gilroy-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gilroy";
  src: url("fonts/Gilroy-RegularItalic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Gilroy";
  src: url("fonts/Gilroy-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gilroy";
  src: url("fonts/Gilroy-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gilroy";
  src: url("fonts/Gilroy-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "FontAwesome";
  src: url("fonts/Font_Awesome_6_Brands-Regular-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: "FontAwesomeSolid";
  src: url("fonts/Font_Awesome_6_Pro-Solid-900.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: "Material Icons";
  src: url("fonts/MATERIALICONS-REGULAR.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: "Material Design Iconic Font";
  src: url("fonts/MATERIAL-DESIGN-ICONIC-FONT.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

/* Font Awesome icons */
.fab {
  font-family: 'FontAwesome' !important;
  font-style: normal;
  font-weight: 400;
  font-size: 24px;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

.fa-facebook-f::before { content: '\f39e'; }
.fa-youtube::before    { content: '\f431'; }
.fa-instagram::before  { content: '\f16d'; }
.fa-tiktok::before     { content: '\e07b'; }


/* ============================================
   02. DESIGN TOKENS
   ============================================ */

:root {
  /* Colors */
  --moran-white:      #ffffff;
  --moran-bg:         #f7f7f5;
  --moran-green:      #c2d11b;
  --moran-green-dark: #2d3d2e;
  --moran-dark:       #1a1a1a;
  --moran-text:       #1a1a1a;
  --moran-text-muted: #6b6b6b;
  --moran-border:     #e8e8e4;
  --moran-cta-bg:     #4a4a4a;

  /* Typography */
  --font-main: "Gilroy", Arial, sans-serif;

  /* Spacing */
  --spacing-xs: 8px;
  --spacing-sm: 16px;
  --spacing-md: 32px;
  --spacing-lg: 64px;
  --spacing-xl: 96px;

  /* Other */
  --radius-sm: 4px;
  --radius-md: 8px;
  --transition: 0.25s ease;
}


/* ============================================
   03. BASE
   ============================================ */

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

/* Force Gilroy — override Kadence */
body,
body *,
button,
input,
textarea,
select {
  font-family: "Gilroy", Arial, sans-serif;
}

body {
  background-color: var(--moran-white);
  color: var(--moran-text);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="url"],
textarea,
select {
  font-family: var(--font-main);
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--moran-dark);
  background: #ffffff;
  border: 1px solid var(--moran-border) !important;
  border-radius: 0 !important;
  padding: 12px 16px;
  outline: none;
  transition: border-color var(--transition);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus {
  border-color: var(--moran-green) !important;
  outline: none !important;
}

input::placeholder,
textarea::placeholder {
  color: #b0b0ab;
  font-size: 0.8rem;
}


/* ============================================
   04. TYPOGRAPHY
   ============================================ */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-main);
  font-weight: 700;
  color: var(--moran-dark);
  line-height: 1.15;
  margin-bottom: 0.5em;
}

h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.6rem, 4vw, 2.6rem); }
h3 { font-size: clamp(1.2rem, 3vw, 1.8rem); }
h4 { font-size: clamp(1rem, 2vw, 1.3rem); font-weight: 600; }

p {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--moran-text);
}

a {
  color: #3a3a39 !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color var(--transition);
}

a:hover {
  color: var(--moran-green) !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* Label / Badge */
.moran-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--moran-green);
}

.moran-label::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background-color: var(--moran-green);
  border-radius: 50%;
}


/* ============================================
   05. BUTTONS
   ============================================ */

/* Primary button */
.btn-moran,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--moran-cta-bg) !important;
  background-image: linear-gradient(var(--moran-green), var(--moran-green)) !important;
  background-size: 0 1px !important;
  background-position: center bottom 4px !important;
  background-repeat: no-repeat !important;
  color: var(--moran-green) !important;
  font-family: var(--font-main);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 14px 32px;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer;
  flex-shrink: 0;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color var(--transition), background-size var(--transition), color var(--transition);
}

.btn-moran:hover,
.wp-element-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
button[type="submit"]:hover {
  background-color: var(--moran-dark) !important;
  background-size: 20% 1px !important;
  color: var(--moran-green) !important;
}

/* Outline button */
.btn-moran-outline {
  display: inline-block;
  background-color: transparent;
  color: var(--moran-dark) !important;
  font-family: var(--font-main);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 14px 32px;
  border: 2px solid var(--moran-dark);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all var(--transition);
}

.btn-moran-outline:hover {
  background-color: var(--moran-dark);
  color: var(--moran-white) !important;
}

/* CTA button */
.btn-cta {
  background-color: var(--moran-cta-bg) !important;
  color: var(--moran-green) !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: var(--font-main) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 12px 24px !important;
  margin: 0 !important;
  flex-shrink: 0;
  white-space: nowrap;
  cursor: pointer;
  transition: background var(--transition), color var(--transition) !important;
}

.btn-cta:hover {
  background-color: var(--moran-dark) !important;
  color: var(--moran-green) !important;
}


/* ============================================
   06. HEADER / NAV
   ============================================ */

.site-header,
#masthead {
  background-color: var(--moran-white);
  position: sticky;
  top: 0;
  z-index: 100;
}

/* Logo + title align */
.site-branding.branding-layout-standard,
.site-branding .brand.has-logo-image {
  display: flex !important;
  align-items: center !important;
}

.site-branding .site-title-wrap {
  display: flex !important;
  align-items: center !important;
  margin: 10px 0 0 0 !important;
}

/* Page title next to logo (cart/checkout) */
.woocommerce-cart [data-section="title_tagline"],
.woocommerce-checkout [data-section="title_tagline"],
.woocommerce-cart .site-branding,
.woocommerce-checkout .site-branding {
  display: flex !important;
  align-items: center !important;
}

.moran-header-page-title {
  font-family: var(--font-main);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--moran-text-muted);
  margin-left: var(--spacing-sm);
  padding-left: var(--spacing-sm);
  border-left: 1px solid var(--moran-border);
  line-height: 1;
  white-space: nowrap;
}

/* Hide cart summary heading */
.cart-summary {
  display: none !important;
}

/* Hide content-area page title on cart/checkout — shown in header instead */
.woocommerce-cart .entry-title,
.woocommerce-cart h1.entry-title,
.woocommerce-cart h1.page-title,
.woocommerce-cart .page-header,
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-title,
.woocommerce-checkout h1.entry-title,
.woocommerce-checkout h1.page-title,
.woocommerce-checkout .page-header,
.woocommerce-checkout .entry-header {
  display: none !important;
}

/* Nav links */
.kadence-navigation .menu-item a,
.primary-navigation .menu-item > a,
.primary-menu-container .menu-item > a {
  font-family: var(--font-main);
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--moran-dark);
  text-transform: uppercase;
  transition: color var(--transition);
  position: relative;
  text-decoration: none;
}

/* Nav hover underline */
.primary-navigation .menu-item > a::after,
.primary-menu-container .menu-item > a::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 15%;
  width: 0;
  height: 2px;
  background-color: var(--moran-green);
  transition: width var(--transition);
}

.primary-navigation .menu-item > a:hover,
.primary-menu-container .menu-item > a:hover,
.kadence-navigation .menu-item a:hover,
.kadence-navigation .menu-item.current-menu-item > a {
  color: var(--moran-green) !important;
}

.primary-navigation .menu-item > a:hover::after,
.primary-menu-container .menu-item > a:hover::after {
  width: 70%;
}

/* Active menu item */
.primary-navigation .current-menu-item > a,
.primary-menu-container .current-menu-item > a {
  color: var(--moran-green) !important;
}

.primary-navigation .current-menu-item > a::after,
.primary-menu-container .current-menu-item > a::after {
  width: 70%;
}

/* Dropdown submenu */
.header-navigation ul ul,
.header-navigation .sub-menu {
  background-color: #ffffff !important;
  border: 1px solid var(--moran-border) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.10) !important;
}

.header-navigation ul ul li a,
.header-navigation .sub-menu .menu-item > a {
  color: var(--moran-dark) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  background-color: transparent !important;
  transition: all var(--transition) !important;
}

.header-navigation ul ul li a:hover,
.header-navigation .sub-menu .menu-item > a:hover {
  color: var(--moran-dark) !important;
  background-color: #e8e8e4 !important;
}

/* Account icon */
.moran-account-icon {
  display: flex;
  align-items: center;
  color: var(--moran-dark);
  text-decoration: none;
  transition: color var(--transition);
}

.moran-account-icon:hover {
  color: var(--moran-green);
}

.moran-account-icon svg {
  display: block;
}

/* Cart icon hover */
.header-cart-wrap a,
.header-cart-wrap .header-cart-inner-wrap {
  transition: color var(--transition) !important;
}

.header-cart-wrap a:hover,
.header-cart-wrap .header-cart-inner-wrap:hover {
  color: var(--moran-green) !important;
}

.header-cart-wrap a:hover svg,
.header-cart-wrap .header-cart-inner-wrap:hover svg {
  stroke: var(--moran-green) !important;
  color: var(--moran-green) !important;
}

/* Hide nav and hero on Cart and Checkout */
.woocommerce-cart .primary-menu-container,
.woocommerce-cart .header-navigation,
.woocommerce-cart .entry-hero.page-hero-section,
.woocommerce-checkout .primary-menu-container,
.woocommerce-checkout .header-navigation,
.woocommerce-checkout .entry-hero.page-hero-section {
  display: none !important;
}

/* Mobile popup drawer — match desktop header nav */
#mobile-drawer .drawer-inner {
  background-color: var(--moran-white);
  border-left: 1px solid var(--moran-border);
}

#mobile-drawer .drawer-header {
  border-bottom: 1px solid var(--moran-border);
}

#mobile-drawer .menu-toggle-close {
  color: var(--moran-dark);
  transition: color var(--transition);
}

#mobile-drawer .menu-toggle-close:hover {
  color: var(--moran-green);
}

.mobile-navigation ul li a,
.mobile-navigation ul li .drawer-nav-drop-wrap {
  font-family: var(--font-main) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  color: var(--moran-dark) !important;
  text-transform: uppercase !important;
  background-color: transparent !important;
  transition: color var(--transition), background-color var(--transition) !important;
  position: relative;
  text-decoration: none;
}

.mobile-navigation ul li a::after {
  content: "";
  position: absolute;
  bottom: 4px;
  left: 25px;
  width: 0;
  height: 2px;
  background-color: var(--moran-green);
  transition: width var(--transition);
}

.mobile-navigation ul li a:hover,
.mobile-navigation ul li .drawer-nav-drop-wrap:hover,
.mobile-navigation ul li.current-menu-item > a,
.mobile-navigation ul li.current-menu-item > .drawer-nav-drop-wrap {
  color: var(--moran-green) !important;
  background-color: var(--moran-cta-bg) !important;
}

.mobile-navigation ul li a:hover::after,
.mobile-navigation ul li.current-menu-item > a::after {
  width: 50px;
}

.mobile-navigation ul li:not(.menu-item-has-children) > a,
.mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap {
  border-bottom: 1px solid var(--moran-border) !important;
}

.mobile-navigation ul li.menu-item-has-children .drawer-nav-drop-wrap button {
  color: var(--moran-dark);
  border-left: 1px solid var(--moran-border) !important;
  transition: color var(--transition);
}

.mobile-navigation ul li.menu-item-has-children .drawer-nav-drop-wrap button:hover {
  color: var(--moran-green);
}

.mobile-navigation ul ul {
  background-color: #ececec !important;
}

.mobile-navigation ul ul li a {
  font-size: 0.85rem !important;
  border-bottom: 1px solid var(--moran-border) !important;
}


/* ============================================
   07. BREADCRUMBS
   ============================================ */

.kadence-breadcrumbs a,
.woocommerce-breadcrumb a {
  color: #3a3a39 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  transition: color var(--transition) !important;
}

.kadence-breadcrumbs a:hover,
.woocommerce-breadcrumb a:hover {
  color: var(--moran-green) !important;
}


/* ============================================
   08. HERO
   ============================================ */

.moran-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 80vh;
  gap: 0;
}

.moran-hero-image {
  background-color: var(--moran-bg);
  overflow: hidden;
}

.moran-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.moran-hero-cards {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 0;
}

.moran-hero-card {
  padding: var(--spacing-lg);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.moran-hero-card--light { background-color: var(--moran-bg); }

.moran-hero-card--dark {
  background-color: var(--moran-green-dark);
  color: var(--moran-white);
}

.moran-hero-card--dark h2,
.moran-hero-card--dark h3,
.moran-hero-card--dark p {
  color: var(--moran-white);
}

/* Hero Kadence block fixes */
.kb-row-layout-idhero_001 { overflow: hidden; }

.kadence-columnhero_001_1 {
  overflow: hidden;
  position: relative;
}

.kadence-columnhero_001_1 img {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.kadence-columnhero_001_1 figure {
  height: 100%;
  margin: 0 !important;
}

.kb-row-layout-idhero_cards { height: 100%; }

.kadence-columnhero_cards_1,
.kadence-columnhero_cards_2 {
  display: flex !important;
  flex-direction: column;
  justify-content: flex-end;
}

.kadence-columnhero_001_2 > .kt-inside-inner-col,
.kb-row-layout-idhero_cards,
.kb-row-layout-idhero_cards > .kb-row-layout-wrap {
  height: 100% !important;
  min-height: 90vh;
}

.kadence-columnhero_cards_1,
.kadence-columnhero_cards_2 {
  min-height: 45vh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 48px !important;
}


/* ============================================
   08. COMPONENTS
   ============================================ */

/* Section */
.moran-section { padding: var(--spacing-lg) 0; }
.moran-section-header { margin-bottom: var(--spacing-md); }
.moran-section-header .moran-label { margin-bottom: var(--spacing-xs); }

/* Dark card grid */
.moran-card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
}

.moran-card-dark {
  background-color: var(--moran-green-dark);
  color: var(--moran-white);
  padding: var(--spacing-md);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
  transition: background-color var(--transition);
}

.moran-card-dark:hover { background-color: #3a4f3b; }

.moran-card-dark h3,
.moran-card-dark h4 { color: var(--moran-white); font-weight: 600; }

.moran-card-dark p { color: rgba(255,255,255,0.75); font-size: 0.9rem; }

.moran-card-dark .moran-card-icon {
  color: var(--moran-green);
  font-size: 1.5rem;
  margin-bottom: var(--spacing-xs);
}

/* Photo card grid */
.moran-photo-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-sm);
}

.moran-photo-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  aspect-ratio: 3/4;
}

.moran-photo-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.moran-photo-card:hover img { transform: scale(1.04); }

.moran-photo-card-label {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--spacing-sm);
  background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 100%);
  color: var(--moran-white);
  font-weight: 600;
  font-size: 0.9rem;
}

/* Product panel (split) */
.moran-product-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 600px;
  background-color: var(--moran-bg);
}

.moran-product-panel-image { overflow: hidden; }

.moran-product-panel-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.moran-product-panel-content {
  padding: var(--spacing-lg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--spacing-sm);
}

.moran-product-panel-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.moran-product-panel-content ul li::before {
  content: "✓ ";
  color: var(--moran-green);
  font-weight: 700;
}

.moran-price {
  font-family: var(--font-main);
  font-size: 2rem;
  font-weight: 700;
  color: var(--moran-dark);
}

/* Philosophy section */
.moran-philosophy {
  position: relative;
  background-color: var(--moran-dark);
  padding: var(--spacing-xl) 0;
  overflow: hidden;
}

.moran-philosophy-bg {
  position: absolute;
  inset: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
  opacity: 0.35;
}

.moran-philosophy-content {
  position: relative;
  z-index: 1;
  max-width: 700px;
  color: var(--moran-white);
}

.moran-philosophy-content h2 { color: var(--moran-white); margin-bottom: var(--spacing-sm); }
.moran-philosophy-content p  { color: rgba(255,255,255,0.8); }

/* Process steps */
.moran-process {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-md);
}

.moran-process-step {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

.moran-process-step-number {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--moran-green);
}

.moran-process-step-image {
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: var(--radius-md);
  margin-bottom: var(--spacing-xs);
}

.moran-process-step-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.moran-process-step h4 { font-weight: 600; margin-bottom: 4px; }
.moran-process-step p  { font-size: 0.875rem; color: var(--moran-text-muted); }

/* Divider */
.moran-divider {
  width: 500px;
  margin: 8px auto;
  height: 1px;
  border: none;
  background: linear-gradient(to right, transparent, #C2D11B 30%, #C2D11B 70%, transparent);
  opacity: 0.5;
  position: relative;
}

.moran-divider::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, #C2D11B 20%, #C2D11B 80%, transparent);
  box-shadow: 0 0 8px 3px rgba(194,209,27,0.5), 0 0 8px 6px rgba(194,209,27,0.25);
  opacity: 0.5;
}

.moran-divider--short {
  max-width: 120px;
  margin: 16px auto;
  background: #C2D11B;
  opacity: 1;
}


/* ============================================
   09. FOOTER
   ============================================ */

#colophon,
.site-footer {
  background-image: url('https://dev.moran.com.ua/wp-content/uploads/2026/03/footer_bg-80-1.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-color: transparent !important;
  padding: 0 !important;
  color: #3a3a39 !important;
}

#colophon .footer-widget-area,
#colophon .footer-wrap,
#colophon .widget-area,
#colophon .site-footer-wrap {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Override Kadence palette on footer */
.site-footer *,
#colophon * {
  color: #3a3a39 !important;
}

.site-footer a:hover,
#colophon a:hover {
  color: #C2D11B !important;
}

/* Footer top block */
.mf-top {
  text-align: center;
  padding: 32px 48px;
}

.mf-top p {
    margin-top: 0;
    margin-bottom: 0;
}

.mf-logo {
  width: 172px;
  height: 48px;
  display: block;
  margin: 0 auto 8px;
  vertical-align: top;
}

.mf-logo-sub {
  display: block;
  text-align: center;
  font-size: 11px;
  font-weight: 500;
  margin-top: 0 !important;
  margin-bottom: 32px !important;;
  color: #181716 !important;
  line-height: 1.4 !important;
}

.mf-tagline {
  font-size: 13px;
  font-weight: 500;
  color: #3a3a39 !important;
  max-width: 600px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.mf-nl-title {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #3a3a39 !important;
  margin: 0 0 8px;
}

.mf-nl-text {
  font-size: 13px;
  font-weight: 500;
  color: #3a3a39 !important;
  max-width: 400px;
  margin: 0 auto 16px;
  line-height: 1.7;
}

/* Subscribe form */
.footer-subscribe-form {
  margin: 0 auto 32px;
  max-width: 420px;
}

.footer-subscribe-form form {
  display: flex;
  flex-direction: row !important;
  gap: 0;
  align-items: stretch;
}

/* Footer subscribe input — inherits global input style; layout overrides only */
.footer-subscribe-form input[type="email"] {
  flex: 1;
  min-width: 0;
  border-right: none;
  margin: 0;
}

/* Social icons */
.moran-footer-social {
  display: flex !important;
  justify-content: center !important;
  gap: 24px !important;
  padding: 0 0 32px !important;
}

.moran-footer-social a,
#colophon .moran-footer-social a {
  color: #3a3a39 !important;
  text-decoration: none !important;
  transition: color var(--transition), transform var(--transition) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.moran-footer-social a:hover,
#colophon .moran-footer-social a:hover,
#colophon .moran-footer-social a:hover .fab {
  color: #C2D11B !important;
}

/* Footer nav columns */
.moran-footer-nav {
  display: grid !important;
  grid-template-columns: repeat(3, auto) !important;
  gap: 64px !important;
  justify-content: center !important;
  padding: 40px 48px !important;
  text-align: left !important;
}

.moran-footer-nav-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #3a3a39 !important;
  margin: 0 0 16px !important;
}

.moran-footer-nav-col ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.moran-footer-nav-col ul li a {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #3a3a39 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  transition: color var(--transition) !important;
}

.moran-footer-nav-col ul li a:hover {
  color: #C2D11B !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

/* Footer bottom */
.moran-footer-bottom {
  text-align: center;
  padding: 24px 48px 40px;
  margin: 0 48px;
  border-top: none !important;
}

.moran-footer-copy {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #3a3a39 !important;
  margin: 0 0 8px !important;
}

.moran-footer-copy a {
  color: #3a3a39 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  transition: color var(--transition) !important;
}

.moran-footer-copy a:hover {
  color: #C2D11B !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

.moran-footer-bottom-tagline {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #000 !important;
  letter-spacing: 0.06em !important;
  margin: 0 0 20px 0 !important;
}


/* ============================================
   10. WOOCOMMERCE — GLOBAL
   ============================================ */

.woocommerce .price,
.woocommerce-Price-amount {
  color: var(--moran-dark);
  font-family: var(--font-main);
  font-weight: 700;
  font-size: 1.5rem;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--moran-dark);
}


/* ============================================
   10a. ARCHIVE PRODUCT CARDS
   Matches single-product hero design:
   label badge, title, excerpt, price, CTA button.
   ============================================ */

/* Card container */
.woocommerce ul.products li.product {
  border: 1px solid var(--moran-border);
  border-radius: 0 !important;
  background: var(--moran-white);
  transition: border-color var(--transition);
  overflow: hidden;
  position: relative;
}

/* Full-card overlay link — makes entire card clickable */
.moran-card-overlay-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  text-decoration: none;
}

/* Raise interactive elements above the overlay */
.woocommerce ul.products li.product .woocommerce-loop-image-link,
.woocommerce ul.products li.product .product-details a,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .moran-variation-pill {
  position: relative;
  z-index: 2;
}

.woocommerce ul.products li.product:hover {
  border-color: var(--moran-green);
}

/* Disable Kadence hover lift on product cards */
.woocommerce ul.products.woo-archive-action-on-hover li.product:hover .entry-content-wrap,
.woocommerce ul.products.woo-archive-action-on-hover li.product:focus-within .entry-content-wrap {
  transform: none !important;
}

/* No underline on product card links */
.woocommerce ul.products li.product a {
  text-decoration: none;
}

/* Image wrapper — relative for badge positioning */
.woocommerce ul.products li.product .woocommerce-loop-image-link {
  position: relative !important;
  display: block;
}

/* Image — flush to card edges, no radius */
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  border-radius: 0 !important;
}

/* Badges overlay — positioned over the product image */
.moran-card-badges {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  pointer-events: none;
  z-index: 2;
}

/* Tag badge — top-left (e.g. Бестселер, Новинка) */
.moran-card-badge {
  display: inline-block;
  background: var(--moran-dark);
  color: var(--moran-green);
  font-family: var(--font-main);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 10px;
  line-height: 1;
}

/* Star rating — top-right */
.moran-card-rating {
  display: inline-block;
  background: rgba(26, 26, 26, 0.7);
  color: var(--moran-white);
  font-family: var(--font-main);
  font-size: 11px;
  font-weight: 600;
  padding: 5px 8px;
  line-height: 1;
  margin-left: auto;
}

/* When only rating exists (no tag badge), push it to the right */
.moran-card-badges .moran-card-rating:first-child {
  margin-left: auto;
}

/* Hide default WooCommerce sale flash — replaced by moran-card-badge */
.woocommerce ul.products li.product .onsale,
.woocommerce ul.products li.product .kadence-sale-flash {
  display: none !important;
}

/* Remove left/right margins from list view product content wrapper */
.products-list-view li.product .product-details .content-bg .entry-content-wrap {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Content area — Kadence wraps title/price/button in .product-details */
.woocommerce ul.products li.product .product-details {
  padding: 8px 16px 16px 16px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.woocommerce ul.products.products-list-view li.product .product-details {
  padding: 16px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-radius: 0 !important;
}

/* Product label badge — mirrors .product_label from single product */
.woocommerce ul.products li.product .product_label {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #333;
  margin-bottom: 0;
  display: inline-flex;
  flex-direction: column;
  gap: 0;
}

/* List view: tighter label spacing */
.products-list-view li.product .product_label {
  margin-bottom: 0 !important;
}

.woocommerce ul.products li.product .product_label .label-text {
  display: flex;
  align-items: center;
  gap: 5px;
}

.woocommerce ul.products li.product .product_label .label-text img {
  width: 14px;
  height: 14px;
}

.woocommerce ul.products li.product .product_label::after {
  content: '';
  display: block;
  width: 24px;
  height: 1px;
  background: var(--moran-green);
  margin-top: 2px;
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-main);
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--moran-dark);
  line-height: 1.3 !important;
  margin-bottom: 0 !important;
}

/* List view: tighter title spacing */
.products-list-view li.product .woocommerce-loop-product__title {
  margin-bottom: 0 !important;
}

/* Short description excerpt */
.woocommerce ul.products li.product .moran-card-excerpt {
  font-family: var(--font-main);
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--moran-text-muted);
  margin-bottom: 12px;
}

/* Price — matches single product hero */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  font-size: 24px !important;
  font-weight: 400 !important;
  color: #3a3a39 !important;
  line-height: 1 !important;
}

.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
  font-size: 14px !important;
  vertical-align: super !important;
  line-height: 0 !important;
}

.woocommerce ul.products li.product .price del {
  display: none !important;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
}

/* CTA button */
.woocommerce ul.products li.product .button {
  width: 100% !important;
  height: 48px !important;
  padding: 4px 32px !important;
  font-size: 0.8rem !important;
  margin-top: 8px !important;
}

.woocommerce ul.products li.product .button .kadence-svg-iconset {
  display: none !important;
}

/* Hide star rating on archive cards (clean look) */
.woocommerce ul.products li.product .star-rating {
  display: none !important;
}

/* Sale badge — hidden; replaced by .moran-card-badge overlay */


/* ============================================
   10b. ARCHIVE — VARIATION PILL (grid + list)
   Single .moran-variation-pill class, one hook.
   CSS handles layout differences per view.
   ============================================ */

/* Hide "Оберіть опції" / "Обрати" button — pill replaces it */
.product-action-wrap > a.button.product_type_variable {
  display: none !important;
}

/* Price + pill row wrapper */
.moran-price-pill-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 0;
}

.moran-price-pill-row .price {
  margin-bottom: 0 !important;
}

/* Shared pill styles */
.moran-variation-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  height: 22px;
  border: none !important;
  border-radius: 0 !important;
  font-family: var(--font-main);
  font-size: 11px !important;
  font-weight: 500 !important;
  cursor: default;
  background: var(--moran-green) !important;
  color: #333 !important;
  pointer-events: none;
  white-space: nowrap;
  vertical-align: middle;
}

/* List view: push price+pill row to bottom via order */
.products-list-view li.product .product-details {
  display: flex;
  flex-direction: column;
}

.products-list-view li.product .moran-price-pill-row {
  order: 10;
  margin-top: auto;
  padding-top: 8px;
}

.products-list-view li.product .product-excerpt {
  order: 5;
}

.products-list-view li.product .product-action-wrap {
  order: 20;
}

/* List view: larger price + pill to match single product hero */
.products-list-view li.product .moran-price-pill-row .price,
.products-list-view li.product .moran-price-pill-row .woocommerce-Price-amount {
  font-size: 36px !important;
  line-height: 36px !important;
  font-weight: 400 !important;
  color: #3a3a39 !important;
}

.products-list-view li.product .moran-price-pill-row .woocommerce-Price-currencySymbol {
  font-size: 16px !important;
  vertical-align: super !important;
  line-height: 0 !important;
}

.products-list-view li.product .moran-variation-pill {
  height: 26px;
  padding: 0 14px;
  font-size: 13px !important;
}

/* In list view: hide the grid-only excerpt (first sentence) — Kadence shows full .product-excerpt */
.products-list-view .moran-card-excerpt {
  display: none !important;
}

/* Align product image to top (Kadence default centers vertically) */
.products-list-view li.product {
  align-items: stretch !important;
}

.products-list-view li.product .woocommerce-loop-image-link {
  display: block !important;
  height: 100% !important;
}

.products-list-view li.product .woocommerce-loop-image-link img {
  height: 100% !important;
  object-fit: cover !important;
}

/* Tighter action wrap margin */
.products-list-view li.product .product-action-wrap {
  margin-top: 8px !important;
}

/* List view: clamp excerpt to 3 lines, hide remaining paragraphs */
.products-list-view li.product .product-excerpt p ~ p,
.products-list-view li.product .product-excerpt ul,
.products-list-view li.product .product-excerpt ol {
  display: none !important;
}

.products-list-view li.product .product-excerpt p {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin-block-start: 0 !important;
  margin-bottom: 0 !important;
  font-size: 14px !important;
}

/* Responsive: stack list view to single column on narrow screens */
@media (max-width: 900px) {
  .products-list-view li.product {
    grid-template-columns: 1fr !important;
  }

  .products-list-view li.product .woocommerce-loop-image-link {
    max-width: 100% !important;
  }

  .products-list-view li.product .product-details.entry-content-wrap {
    padding: 1rem !important;
  }
}


/* ============================================
   10c. ARCHIVE CARDS — MOBILE / TOUCH FIXES
   Fixes: t008 / GH#10
   ============================================

   Two problems this section solves:

   1. The .moran-card-overlay-link (position: absolute; inset: 0; z-index: 1)
      covers the whole card. Only a handful of child elements are explicitly
      raised above it via z-index: 2 (image link, .product-details a, .button,
      .moran-variation-pill). Non-link text content (.product_label, the
      <h2> title wrapper, .moran-card-excerpt, the .price span) was NOT
      positioned, so the overlay painted on top of them — cards appeared
      image-only on mobile, where :focus-within doesn't fire the way it does
      on desktop hover/keyboard nav.

   2. Kadence's woo-archive-action-on-hover layout positions .product-action-wrap
      at bottom: -2rem with opacity: 0 and slides it in on :hover / :focus-within.
      Touch devices have no hover, so the CTA stays invisible. We keep the
      Kadence effect on pointer devices and force the CTA static on touch. */

/* 1. Raise the whole content wrap above the overlay link.
   This fixes ALL text visibility in one stroke and works on every viewport —
   the child theme was previously trying to hoist individual children, which
   missed every non-positioned element. */
.woocommerce ul.products li.product .product-details.entry-content-wrap {
  position: relative !important;
  z-index: 2 !important;
}

/* 2. Kill Kadence's hover-triggered translateY on the content wrap.
   The child theme was only cancelling it on :hover / :focus-within, so the
   default (non-hover) state still applied the transform on everyone. Disable
   it unconditionally — we don't use the slide-up reveal. */
.woocommerce ul.products.woo-archive-action-on-hover li.product .entry-content-wrap {
  transform: none !important;
}

/* 3. Touch devices: force the CTA action wrap to be statically positioned
   and visible. Pointer devices keep the Kadence hover animation. */
@media (hover: none), (pointer: coarse) {
  .woocommerce ul.products.woo-archive-action-on-hover li.product .product-action-wrap {
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    opacity: 1 !important;
    padding: 0 !important;
    margin-top: 8px !important;
  }
}


/* ============================================
   11. WOOCOMMERCE — PRODUCT PAGE
   ============================================ */

/* Remove border radius from product page elements */
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .flex-viewport,
.single-product .single_add_to_cart_button,
.single-product .wc-variation-pill,
.single-product .entry.content-bg {
  border-radius: 0 !important;
}

.single-product .site-main {
  background-color: #fff !important;
}

.woocommerce-product-gallery {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.single-product .entry.content-bg {
  background-color: transparent !important;
  box-shadow: none !important;
}

.single-product .product_title {
  font-family: var(--font-main) !important;
  font-size: 1.9rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #1a1a18 !important;
}

/* Price */
.single-product .price {
  font-size: 2rem !important;
  font-weight: 500 !important;
  color: #1a1a18 !important;
}

.single-product .price del { display: none !important; }

.moran-variation-price .price,
.moran-variation-price .woocommerce-Price-amount {
  font-size: 36px !important;
  line-height: 36px !important;
  font-weight: 400 !important;
  color: #3a3a39 !important;
  margin-bottom: 16px;
}

.moran-variation-price .woocommerce-Price-currencySymbol {
  font-size: 16px !important;
  vertical-align: super !important;
  line-height: 0 !important;
}

.moran-price-row { margin-bottom: 8px !important; }

/* Short description */
.single-product .woocommerce-product-details__short-description p,
.single-product .woocommerce-product-details__short-description ul,
.single-product .woocommerce-product-details__short-description ul li {
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
  color: #3a3a38 !important;
  font-weight: 500 !important;
}

.single-product .woocommerce-product-details__short-description ul {
  list-style-type: disc !important;
  list-style-position: inside !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.single-product .woocommerce-product-details__short-description ul li strong {
  font-weight: 700 !important;
}

.woocommerce-product-details__short-description { margin-bottom: 16px !important; }

/* Variation pills */
.single-product .variations select { display: none !important; }
.single-product .variations th.label { display: none !important; }
.single-product form.cart .quantity { display: none !important; }
.single-product .reset_variations { display: none !important; }

.wc-variation-pills-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px;
  margin: 0;
  padding: 0;
}

.wc-variation-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  margin: 4px;
  height: 30px;
  border: none !important;
  border-radius: 0 !important;
  font-size: 16px !important;
  line-height: 36px !important;
  font-weight: 500 !important;
  cursor: pointer;
  background: #ececec !important;
  color: #333 !important;
  transition: all 0.2s ease;
}

.wc-variation-pill:hover { background: #d8d8d8 !important; }
.wc-variation-pill.active { background: #c2d11b !important; }

/* Add to cart — layout overrides only, visual style inherited from primary button */
.single-product .single_add_to_cart_button {
  width: 100% !important;
  height: 60px !important;
  padding: 0 40px !important;
  font-size: 16px !important;
}


/* Summary spacing */
.woocommerce div.product div.summary.entry-summary {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Product label badge */
.product_label {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #333;
  margin-bottom: 8px;
  display: inline-flex;
  flex-direction: column;
  gap: 0;
}

.product_label .label-text {
  display: flex;
  align-items: center;
  gap: 6px;
}

.product_label .label-text img {
  width: 16px;
  height: 16px;
}

.product_label::after {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: #c2d11b;
  margin-top: 8px;
}


/* ============================================
   12. WOOCOMMERCE — CART
   ============================================ */

/* Remove Kadence content-area top margin on Cart and Checkout */
.woocommerce-cart .content-area,
.woocommerce-checkout .content-area {
  margin-top: 0 !important;
}

/* Remove entry content wrapper padding on Cart and Checkout */
.woocommerce-cart .entry-content-wrap,
.woocommerce-cart .entry-content,
.woocommerce-cart .entry,
.woocommerce-checkout .entry-content-wrap,
.woocommerce-checkout .entry-content,
.woocommerce-checkout .entry {
  padding: 0 !important;
}


/* Page background */
.woocommerce-cart body,
.woocommerce-cart #inner-wrap,
.woocommerce-cart .site-main,
.woocommerce-cart .entry.content-bg,
.woocommerce-checkout body,
.woocommerce-checkout #inner-wrap,
.woocommerce-checkout .site-main,
.woocommerce-checkout .entry.content-bg {
  background-color: #ffffff !important;
  box-shadow: none !important;
}

/* Table header */
.woocommerce-cart table.cart th {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #6b6b6b !important;
  padding: 0 12px 16px !important;
  border-bottom: 1px solid var(--moran-border) !important;
  background: transparent !important;
}

/* Table rows */
.woocommerce-cart table.cart td {
  padding: 20px 0 !important;
  border-bottom: 1px solid var(--moran-border) !important;
  background: transparent !important;
  vertical-align: middle !important;
}

/* Cart: 3-line row layout */
.woocommerce-cart table.cart,
.woocommerce-cart table.cart tbody {
  display: block !important;
  width: 100% !important;
}

.woocommerce-cart .woocommerce-cart-form {
  margin-bottom: 16px !important;
}

.woocommerce-cart table.cart thead {
  display: none !important;
}

.woocommerce-cart table.cart tr.cart_item {
  display: grid !important;
  grid-template-areas:
    "remove remove remove remove"
    "thumbnail thumbnail thumbnail thumbnail"
    "name price quantity subtotal" !important;
  grid-template-columns: 1fr auto auto auto !important;
  grid-template-rows: 32px auto auto !important;
  gap: 0 8px !important;
  padding: 0 0 20px 0 !important;
  border-bottom: 1px solid var(--moran-green) !important;
}

.woocommerce-cart table.cart td.product-remove {
  grid-area: remove !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  height: 32px !important;
  padding: 0 !important;
  border: none !important;
}

.woocommerce-cart table.cart td.product-thumbnail {
  grid-area: thumbnail !important;
  width: 240px !important;
  padding: 0 !important;
  border: none !important;
}

.woocommerce-cart table.cart td.product-thumbnail img {
  width: 240px !important;
  height: auto !important;
  display: block !important;
}

.woocommerce-cart table.cart td.product-name {
  grid-area: name !important;
  padding: 0 !important;
  border: none !important;
  align-self: center !important;
  text-align: left !important;
  justify-self: start !important;
}

.woocommerce-cart table.cart td.product-price {
  grid-area: price !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.woocommerce-cart table.cart td.product-quantity {
  grid-area: quantity !important;
  padding: 0 !important;
  border: none !important;
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
}

.woocommerce-cart table.cart td.product-subtotal {
  grid-area: subtotal !important;
  padding: 0 !important;
  padding-right: 4px !important;
  border: none !important;
  align-self: center !important;
}

.woocommerce-cart table.cart tr.actions {
  display: block !important;
  width: 100% !important;
  border: none !important;
}

/* Product name */
.woocommerce-cart table.cart .product-name a {
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  color: var(--moran-dark) !important;
}

.woocommerce-cart table.cart .product-name a:hover { color: var(--moran-green) !important; }

/* Price */
.woocommerce-cart table.cart .product-price .woocommerce-Price-amount,
.woocommerce-cart table.cart .product-subtotal .woocommerce-Price-amount {
  color: #3a3a39 !important;
  font-weight: 400 !important;
  margin: 0 !important;
}

.woocommerce-cart table.cart .product-price .woocommerce-Price-currencySymbol,
.woocommerce-cart table.cart .product-subtotal .woocommerce-Price-currencySymbol {
  font-size: 0.6em !important;
  vertical-align: super !important;
  line-height: 0 !important;
}

/* Remove button */
.woocommerce-cart table.cart .product-remove a.remove {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  transform: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 0 !important;
  color: red !important;
  font-size: 20px !important;
  background: none !important;
  text-decoration: none !important;
  transition: color var(--transition) !important;
}

.woocommerce-cart table.cart .product-remove a.remove:hover {
  color: var(--moran-green) !important;
  text-decoration: none !important;
  background: none !important;
}

/* Coupon remove link — styled as × matching product remove button */
.woocommerce-cart .woocommerce-remove-coupon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  font-size: 0 !important;
  color: red !important;
  text-decoration: none !important;
  vertical-align: middle !important;
}

.woocommerce-cart .woocommerce-remove-coupon::before {
  content: '×' !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}

.woocommerce-cart .woocommerce-remove-coupon:hover {
  color: var(--moran-green) !important;
}

/* Quantity input — inherits global input style; layout overrides only */
.woocommerce-cart table.cart .quantity {
  display: flex !important;
  align-items: center !important;
}

.woocommerce-cart table.cart .quantity input[type="number"] {
  padding: 8px 10px !important;
  width: 60px !important;
  text-align: center !important;
}

.woocommerce-cart table.cart .quantity::before {
  content: "×";
  font-size: 0.85rem;
  color: var(--moran-text-muted);
  margin-right: 8px;
}

.woocommerce-cart table.cart .quantity::after {
  content: "=";
  font-size: 0.85rem;
  color: var(--moran-text-muted);
  margin-left: 8px;
}

/* Hide WooCommerce responsive column labels */
.woocommerce-cart table.cart td::before {
  display: none !important;
}

/* Actions row */
.woocommerce-cart table.cart td.actions {
  display: block !important;
  width: 100% !important;
  background: transparent !important;
  padding: 16px 0 !important;
  border: none !important;
}

/* Hide nonce hidden inputs from flex layout */
.woocommerce-cart table.cart td.actions input[type="hidden"] {
  display: none !important;
}

/* Coupon inline error — styled to match .woocommerce-error */
.woocommerce-cart .coupon-error-notice {
  display: block !important;
  width: 100% !important;
  min-height: 50px !important;
  padding: 0 0 0 16px !important;
  margin: 8px 0 0 !important;
  background: #fff3f3 !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-left: 3px solid #cc4444 !important;
  font-size: 0.8rem !important;
  line-height: 50px !important;
  color: var(--moran-dark) !important;
}

/* Coupon form hidden when coupon is applied */
.woocommerce-cart table.cart td.actions .coupon.coupon--hidden {
  display: none !important;
}

/* Coupon — mirrors footer subscribe form style */
.woocommerce-cart table.cart td.actions .coupon {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  flex: 0 0 auto !important;
  gap: 0 !important;
}

.woocommerce-cart table.cart td.actions .coupon input[type="text"] {
  width: 180px !important;
  flex: 0 0 180px !important;
  border-right: none !important;
  margin: 0 !important;
}

.woocommerce-cart table.cart td.actions .coupon .button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: var(--moran-cta-bg) !important;
  color: var(--moran-green) !important;
  font-family: var(--font-main) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 0 24px !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background-color var(--transition) !important;
}

.woocommerce-cart table.cart td.actions .coupon .button:hover {
  background-color: var(--moran-dark) !important;
  color: var(--moran-green) !important;
}

/* Update cart button — hidden, triggered automatically on qty change */
.woocommerce-cart table.cart td.actions button[name="update_cart"] {
  display: none !important;
}

/* Cart totals */
.woocommerce-cart table.shop_table {
  margin-bottom: 0 !important;
}

.woocommerce-cart .cart_totals {
  background: var(--moran-bg) !important;
  border: 1px solid var(--moran-green) !important;
  border-radius: 0 !important;
  padding: 28px !important;
  margin-top: 16px !important;
}

.woocommerce-cart .cart_totals h2,
.woocommerce-cart .woocommerce > h2:first-of-type { display: none !important; }

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  font-size: 0.875rem !important;
  padding: 10px 0 !important;
  border-top: 1px solid var(--moran-border) !important;
  background: transparent !important;
  color: var(--moran-dark) !important;
}

.woocommerce-cart .cart_totals table th { font-weight: 600 !important; }

.woocommerce-cart .cart_totals table tr.cart-subtotal th,
.woocommerce-cart .cart_totals table tr.cart-subtotal td {
  border-top: none !important;
}

.woocommerce-cart .cart_totals table td .woocommerce-Price-amount {
  font-weight: 400 !important;
  color: #3a3a39 !important;
}

.woocommerce-cart .cart_totals table td .woocommerce-Price-currencySymbol {
  font-size: 0.6em !important;
  vertical-align: super !important;
  line-height: 0 !important;
}

.woocommerce-cart .cart_totals table tr.order-total th,
.woocommerce-cart .cart_totals table tr.order-total td {
  font-size: 1rem !important;
  font-weight: 700 !important;
  border-top: 2px solid var(--moran-dark) !important;
  padding-top: 16px !important;
}

/* Checkout button */
.woocommerce-cart .wc-proceed-to-checkout a,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  background-color: var(--moran-cta-bg) !important;
  color: var(--moran-green) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 18px 32px !important;
  border-radius: 0 !important;
  border: none !important;
  text-decoration: none !important;
  transition: background var(--transition) !important;
  margin-top: 20px !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .wc-proceed-to-checkout a:hover {
  background-color: #333333 !important;
  color: var(--moran-green) !important;
}

/* Cross-sells */
.woocommerce-cart .cross-sells h2 {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--moran-green) !important;
  margin-bottom: 24px !important;
}

.woocommerce-cart .cross-sells ul.products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce-cart .cross-sells ul.products li.product {
  background: var(--moran-bg);
  border: 1px solid var(--moran-border);
  padding: 16px;
}

.woocommerce-cart .cross-sells ul.products li.product .button {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 8px 16px !important;
  background: transparent !important;
  color: var(--moran-dark) !important;
  border: 1px solid var(--moran-dark) !important;
  border-radius: 0 !important;
  transition: all var(--transition) !important;
}

.woocommerce-cart .cross-sells ul.products li.product .button:hover {
  background: var(--moran-cta-bg) !important;
  color: var(--moran-green) !important;
  border-color: var(--moran-cta-bg) !important;
}


/* ============================================
   12b. CART — MOBILE
   ============================================ */

@media (max-width: 719px) {
  /* Neutralize Kadence's negative margins that make article.content-bg
     wider than .content-wrap on mobile (content-style-boxed rule) */
  .woocommerce-cart .entry.content-bg {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }
}

@media (max-width: 600px) {

  /* Stack name / price / qty / subtotal vertically */
  .woocommerce-cart table.cart tr.cart_item {
    grid-template-areas:
      "remove remove"
      "thumbnail thumbnail"
      "name name"
      "price quantity"
      "subtotal subtotal" !important;
    grid-template-columns: 1fr auto !important;
    grid-template-rows: 32px auto auto auto auto !important;
    gap: 0 8px !important;
  }

  /* Image full width on mobile */
  .woocommerce-cart table.cart td.product-thumbnail,
  .woocommerce-cart table.cart td.product-thumbnail img {
    width: 100% !important;
  }


  /* Hide = sign, show underline above subtotal instead */
  .woocommerce-cart table.cart .quantity::after {
    display: none !important;
  }

  .woocommerce-cart table.cart td.product-subtotal .woocommerce-Price-amount {
    border-top: 1px solid var(--moran-border) !important;
    padding-top: 8px !important;
    display: inline-block !important;
  }

  /* Actions row: coupon full width on mobile */
  .woocommerce-cart table.cart td.actions .coupon {
    width: 100% !important;
  }

  .woocommerce-cart table.cart td.actions .coupon input[type="text"] {
    flex: 1 !important;
    width: auto !important;
  }
}

/* ============================================
   13. WOOCOMMERCE — CHECKOUT
   ============================================ */

/* Two-column checkout layout: form left, order summary sidebar right */
.moran-checkout-two-col {
  display: grid !important;
  grid-template-columns: 1fr 360px !important;
  column-gap: 40px !important;
  row-gap: 8px !important;
  align-items: start !important;
}
/* Suppress Kadence clearfix pseudo-elements — they become unwanted grid items */
form.moran-checkout-two-col::before,
form.moran-checkout-two-col::after {
  content: none !important;
  display: none !important;
}
/* Notice spans both columns */
.moran-checkout-two-col > .woocommerce-NoticeGroup {
  grid-column: 1 / -1 !important;
}
/* Sidebar sticks while form column scrolls */
.moran-checkout-col-summary {
  position: sticky;
  top: 24px;
}
/* Reset Kadence/WooCommerce float layout inside grid columns */
.moran-checkout-two-col #customer_details,
.moran-checkout-two-col #order_review_heading,
.moran-checkout-two-col #order_review {
  display: block !important;
  width: auto !important;
  float: none !important;
  padding: 0 !important;
}
.moran-checkout-two-col #customer_details .col-1,
.moran-checkout-two-col #customer_details .col-2 {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
}

.woocommerce-checkout .site-main {
  background-color: #ffffff;
  font-family: var(--font-main);
}

/* Form labels */
.woocommerce-checkout .form-row label {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #6b6b6b !important;
  display: block;
  margin-bottom: 6px;
}

.woocommerce-checkout .form-row label .required { color: var(--moran-green); }

/* Form inputs — base style inherited from global; only layout overrides here */
.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
  width: 100% !important;
}

/* Order review container — no outer box, sections style themselves */
.woocommerce-checkout #order_review {
  background: transparent;
  border: none;
  padding: 0;
}

/* Order review table — styled like cart_totals, applied directly to <table>
   to avoid AJAX nesting issue (WC replaceWith targets the table element) */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: var(--moran-bg) !important;
  border: 1px solid var(--moran-green) !important;
  margin-bottom: 0 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td {
  font-size: 0.875rem !important;
  padding: 10px 28px !important;
  border: none !important;
  background: transparent !important;
  color: var(--moran-dark) !important;
}

/* First column: remove right padding so price column has room to show full amounts */
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name {
  padding-right: 0 !important;
}

/* Second column price cells: shrink to content width, never wrap */
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.cart-discount td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total td {
  padding-left: 0 !important;
  padding-right: 28px !important;
  width: 1% !important;
  white-space: nowrap !important;
}

/* First product row: extra top padding matches cart container's 28px inset */
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr:first-child td {
  padding-top: 28px !important;
}

/* Inset separator below each product row (gradient on tr, 28px from each edge) */
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr {
  background:
    linear-gradient(var(--moran-border), var(--moran-border))
    28px bottom / calc(100% - 56px) 1px no-repeat,
    var(--moran-bg) !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
  font-size: 0.875rem !important;
  padding: 10px 28px !important;
  border: none !important;
  background: transparent !important;
  color: var(--moran-dark) !important;
}

/* First column (th label): remove right padding so price column has room */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
  padding-right: 0 !important;
}

/* Inset separator above each tfoot row (gradient on tr) */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr {
  background:
    linear-gradient(var(--moran-border), var(--moran-border))
    28px 0 / calc(100% - 56px) 1px no-repeat,
    var(--moran-bg) !important;
}

/* No separator above first tfoot row — products section already provides it */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal {
  background: var(--moran-bg) !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-Price-amount {
  font-weight: 400 !important;
  color: #3a3a39 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-Price-currencySymbol {
  font-size: 0.6em !important;
  vertical-align: super !important;
  line-height: 0 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total {
  background:
    linear-gradient(var(--moran-dark), var(--moran-dark))
    28px 0 / calc(100% - 56px) 2px no-repeat,
    var(--moran-bg) !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total td {
  font-size: 1rem !important;
  font-weight: 700 !important;
  padding-top: 16px !important;
  padding-bottom: 28px !important;
  border-top: none !important;
}

/* Hide terms and conditions checkbox */
.woocommerce-terms-and-conditions-wrapper {
  display: none !important;
}

/* Hide LiqPay logo image in payment method label */
li.payment_method_liqpay-webplus label img {
  display: none !important;
}

/* Payment methods */
.woocommerce-checkout #payment {
  background: transparent;
  border: none;
  padding: 0;
}

.woocommerce-checkout #payment div.payment_box {
  background: var(--moran-bg);
  border: 1px solid var(--moran-border);
  border-top: none;
  padding: 12px 14px;
  font-size: 0.8rem;
  color: #6b6b6b;
}

/* Place order button */
.woocommerce-checkout #payment #place_order {
  display: block !important;
  width: 100% !important;
  background-color: var(--moran-cta-bg) !important;
  color: var(--moran-green) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 18px 32px !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: background var(--transition) !important;
  margin-top: 20px !important;
}

.woocommerce-checkout #payment #place_order:hover {
  background-color: #333333 !important;
}

/* Section headings — all checkout h3 share the same style */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3,
.woocommerce-checkout #order_review_heading,
.moran-shipping-heading,
.moran-checkout-block-heading {
  font-family: "Gilroy" !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #3a3a39 !important;
  margin: 0 0 16px !important;
  padding: 8px 0 16px !important;
  border-bottom: 1px solid var(--moran-green) !important;
}

.moran-checkout-block-heading {
  margin-top: 16px !important;
}

/* Form row spacing */
.woocommerce-checkout .form-row {
  margin-bottom: 16px !important;
}

/* Checkout info notices */
.woocommerce-checkout .woocommerce-info {
  background: var(--moran-bg) !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-left: 3px solid var(--moran-green) !important;
  padding: 12px 16px !important;
  font-size: 0.8rem !important;
  color: var(--moran-dark) !important;
  margin-bottom: 20px !important;
}

.woocommerce-checkout .woocommerce-info::before {
  display: none !important;
}

.woocommerce-checkout .woocommerce-info a {
  color: var(--moran-dark) !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}

/* Error notices — synced with .woocommerce-message layout */
.woocommerce-checkout .woocommerce-error {
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 50px !important;
  padding: 0 0 0 16px !important;
  margin: 0 !important;
  background: #fff3f3 !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-left: 3px solid #cc4444 !important;
  font-size: 0.8rem !important;
  line-height: 1 !important;
}

.woocommerce-checkout .woocommerce-error::before {
  display: none !important;
}

/* Hide "Have a coupon?" notice and coupon form on checkout — coupon entry is cart-only */
.woocommerce-checkout .woocommerce-info:has(a.showcoupon),
.woocommerce-checkout .checkout_coupon {
  display: none !important;
}

/* Hide remove-coupon link in order review table — coupon can only be removed from cart */
.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-remove-coupon {
  display: none !important;
}

/* Login collapsible panel */
.woocommerce-checkout .woocommerce-form-login {
  background: var(--moran-bg) !important;
  border: 1px solid var(--moran-border) !important;
  border-radius: 0 !important;
  padding: 20px !important;
  margin-bottom: 20px !important;
}


/* Shipping-to-different-address label */
.woocommerce-checkout .woocommerce-shipping-fields h3 label {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--moran-text-muted) !important;
  display: inline !important;
}

/* Cart — checkout button */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  font-size: 16px !important;
}


/* Field validation states */
.woocommerce-checkout .woocommerce-validated input {
  border-color: var(--moran-green) !important;
}

.woocommerce-checkout .woocommerce-invalid input {
  border-color: #cc4444 !important;
}

/* Payment radio list */
.woocommerce-checkout #payment ul.payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
  border-bottom: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.woocommerce-checkout #payment ul li.wc_payment_method {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  line-height: 1 !important;
}

.woocommerce-checkout #payment ul li.wc_payment_method input.input-radio {
  display: none !important;
}

/* Terms and conditions */
.woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 16px !important;
}

.woocommerce-terms-and-conditions-wrapper label {
  font-size: 0.8rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--moran-text-muted) !important;
}

.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
  accent-color: var(--moran-green) !important;
  margin-right: 8px !important;
}

/* Morkva UA — Select2 dropdowns */
.woocommerce-checkout .select2-container--default .select2-selection--single {
  border: 1px solid var(--moran-border) !important;
  border-radius: 0 !important;
  height: 46px !important;
  display: flex !important;
  align-items: center !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 46px !important;
  padding: 0 16px !important;
  font-family: var(--font-main) !important;
  font-size: 0.875rem !important;
  color: var(--moran-dark) !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #b0b0ab !important;
  font-size: 0.8rem !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px !important;
  top: 0 !important;
}

.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--moran-green) !important;
}

.woocommerce-checkout .select2-dropdown {
  border: 1px solid var(--moran-border) !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
}

.woocommerce-checkout .select2-results__option {
  font-family: var(--font-main) !important;
  font-size: 0.875rem !important;
  padding: 8px 16px !important;
  color: var(--moran-dark) !important;
}

.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: var(--moran-green) !important;
  color: var(--moran-dark) !important;
}

.woocommerce-checkout .select2-container--default .select2-results__option[aria-selected="true"] {
  background-color: var(--moran-bg) !important;
  color: var(--moran-dark) !important;
}

.woocommerce-checkout .select2-search--dropdown .select2-search__field {
  border: 1px solid var(--moran-border) !important;
  border-radius: 0 !important;
  font-family: var(--font-main) !important;
  font-size: 0.875rem !important;
  padding: 8px 12px !important;
}

/* Morkva UA — jQuery UI autocomplete dropdown */
.woocommerce-checkout .ui-autocomplete {
  border: 1px solid var(--moran-border) !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
  background: #ffffff !important;
  z-index: 9999 !important;
}

.woocommerce-checkout .ui-menu-item > a,
.woocommerce-checkout .ui-menu-item > div {
  font-family: var(--font-main) !important;
  font-size: 0.875rem !important;
  color: var(--moran-dark) !important;
  padding: 8px 16px !important;
}

.woocommerce-checkout .ui-state-hover,
.woocommerce-checkout .ui-state-active {
  background-color: var(--moran-green) !important;
  color: var(--moran-dark) !important;
  border-radius: 0 !important;
}

/* Morkva UA — hide internal reference/label fields that occupy visible space */
#mrkv_ua_shipping_nova-poshta_city_label_field,
#mrkv_ua_shipping_nova-poshta_city_ref_field,
#mrkv_ua_shipping_nova-poshta_area_name_field,
#mrkv_ua_shipping_nova-poshta_address_city_label_field,
#mrkv_ua_shipping_nova-poshta_address_city_ref_field,
#mrkv_ua_shipping_nova-poshta_address_street_ref_field,
#mrkv_ua_shipping_nova-poshta_address_patronymic_enabled_field,
#mrkv_ua_shipping_nova-poshta_address_area_name_field {
  display: none !important;
}

/* Morkva UA — loader spinner */
.mrkv-public-loader {
  border-color: rgba(194, 209, 27, 0.25) !important;
  border-top-color: var(--moran-green) !important;
}


/* Shipping methods list */
.moran-shipping-section {
  margin-bottom: 0;
}

.moran-shipping-methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.moran-shipping-method {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  line-height: 1 !important;
}

.moran-shipping-method input[type="radio"] {
  display: none !important;
}

.moran-shipping-method .method-cost {
  display: none !important;
}

/* Shared pill button — shipping and payment */
.moran-shipping-method label,
.woocommerce-checkout #payment ul li.wc_payment_method label {
  display: inline-flex !important;
  align-items: center !important;
  width: 100% !important;
  height: 36px !important;
  padding: 0 20px !important;
  border: none !important;
  background: #ececec !important;
  color: #333 !important;
  font-family: var(--font-main) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  margin: 0 !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}

/* Suppress Kadence pseudo-element bullets */
.moran-shipping-method label::before,
.moran-shipping-method label::after,
.woocommerce-checkout #payment ul li.wc_payment_method label::before,
.woocommerce-checkout #payment ul li.wc_payment_method label::after {
  display: none !important;
  content: none !important;
}

.moran-shipping-method label:hover,
.woocommerce-checkout #payment ul li.wc_payment_method label:hover {
  background: #d8d8d8 !important;
}

.moran-shipping-method.active label,
.moran-shipping-method input[type="radio"]:checked + label,
.woocommerce-checkout #payment ul li.wc_payment_method input.input-radio:checked + label {
  background: var(--moran-green) !important;
  color: var(--moran-dark) !important;
}


/* ============================================
   14. UTILITIES
   ============================================ */

/* Footer widget button color — overrides Kadence palette inheritance */
#colophon .footer-subscribe-form button[type="submit"],
#colophon .footer-subscribe-form button[type="submit"]:visited {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: var(--moran-cta-bg) !important;
  color: var(--moran-green) !important;
  font-family: var(--font-main) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 0 24px !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background-color var(--transition) !important;
}

#colophon .footer-subscribe-form button[type="submit"]:hover {
  background-color: var(--moran-dark) !important;
  color: var(--moran-green) !important;
}

/* WooCommerce notices */
.woocommerce-notices-wrapper .woocommerce-message {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  height: 50px !important;
  max-height: 50px !important;
  overflow: hidden !important;
  padding: 0 0 0 16px !important;
  margin: 0 !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-left: 3px solid var(--moran-green) !important;
  background: var(--moran-bg) !important;
  font-family: var(--font-main) !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.03em !important;
  color: var(--moran-dark) !important;
  line-height: 1 !important;
}

.woocommerce-notices-wrapper .woocommerce-message::before {
  display: none !important;
}

.woocommerce-notices-wrapper .woocommerce-message a.button {
  order: 2 !important;
  margin: 0 0 0 auto !important;
  flex-shrink: 0 !important;
  align-self: stretch !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 24px !important;
  font-size: 0.75rem !important;
  float: none !important;
}


/* ============================================
   15. RESPONSIVE
   ============================================ */

@media (max-width: 1024px) {
  .moran-card-grid,
  .moran-photo-grid,
  .moran-process {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .moran-hero,
  .moran-product-panel {
    grid-template-columns: 1fr;
  }

  .moran-hero-cards {
    grid-template-rows: auto auto;
  }

  .moran-card-grid,
  .moran-photo-grid,
  .moran-process {
    grid-template-columns: 1fr 1fr;
  }

  .moran-footer-nav {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* Checkout: collapse to single column, summary below form (HTML order) */
  .moran-checkout-two-col {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .moran-checkout-col-summary {
    position: static !important;
  }

  .woocommerce-cart .cross-sells ul.products {
    grid-template-columns: 1fr 1fr;
  }

}

@media (max-width: 480px) {
  .moran-card-grid,
  .moran-photo-grid,
  .moran-process {
    grid-template-columns: 1fr;
  }

  .woocommerce-cart .cross-sells ul.products {
    grid-template-columns: 1fr;
  }
}