/*
Theme Name: datazen
Theme URI: https://wordpress.org/themes/datazen/
Author: the WordPress team
Author URI: https://wordpress.org
Description: datazen emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: datazen
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/* Variables */
:root {
	--global--content--width: 1256px;
}

/* === RESET CSS / BASE STYLES === */

/* 1. Ustaw domyślny box-sizing */
*, *::before, *::after {
	box-sizing: border-box;
  }
  
  /* 2. Usuń marginesy i paddings */
  body, ul, ol, figure, blockquote, dl, dd {
	margin: 0;
	padding: 0;
  }

  body {
    overflow-x: hidden;
    font-family: 'Lexend', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
  }
  
  h1, h2, h3, h4, h5, h6, caption, figcaption, p {
	margin-top: 0px;
  }
  
  /* 4. Usuń domyślny styl linków */
  a {
	text-decoration: none;
	color: inherit;
  }
  
  /* 6. Obrazy i media max-width 100% */
  img, picture, video, canvas, svg {
	display: block;
	max-width: 100%;
	height: auto;
  }
  
  /* 7. Formularze */
  input, button, textarea, select {
	font: inherit;
	border: none;
	background: none;
	padding: 0;
	margin: 0;
	outline: none;
  }
  
  /* 8. Usuń domyślną stylizację przycisków */
  button {
	cursor: pointer;
	background: transparent;
	border: none;
  }
  
  /* 9. HTML5 display roles */
  article, aside, details, figcaption, figure,
  footer, header, hgroup, main, menu, nav, section {
	display: block;
  }
  
  /* 10. Scroll behavior */
  html:focus-within {
	scroll-behavior: smooth;
  }
  
  /* 11. Usuń focus outline na klik (ale zostaw dla klawiatury) */
  *:focus-visible {
	outline: 2px solid #000;
  }
  
  *:focus:not(:focus-visible) {
	outline: none;
  }
  
/* Main styles */

.wp-block-columns {
	gap: 32px;
	max-width: var(--global--content--width);
  margin: 0 auto;
}

/* zwiekszony */
.wp-block-columns.alignwide {
	max-width: 80%;
	margin: 0 auto
}

/* pełny */
.wp-block-columns.alignfull {
	max-width: 100%;
}

.wp-block-columns:not(.alignfull) {
  padding: 0 20px;
}

.wp-block-column {
  position: relative;
}

.has-extra-small-font-size {
	font-size: 12px;
	line-height: 20px;
	font-weight: 400;
  }
  
  .has-small-font-size {
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
  }
  
  .has-normal-font-size, p {
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
  }
  
  .has-as-h-6-font-size,
  h6 {
	font-size: 20px;
	line-height: 28px;
	font-weight: 400;
  }
  
  .has-as-h-5-font-size,
  h5 {
	font-size: 24px;
	line-height: 32px;
	font-weight: 600;
  }
  
  .has-as-h-4-font-size,
  h4 {
	font-size: 36px;
	line-height: 44px;
	font-weight: 400;
  }
  
  .has-as-h-3-font-size,
  h3 {
	font-size: 48px;
	line-height: 58px;
	font-weight: 700;
  }
  
  .has-as-h-2-font-size,
  h2 {
	font-size: 36px;
	line-height: 44px;
	font-weight: 700;
  margin-bottom: 28px;
  }
  
  .has-as-h-1-font-size,
  h1 {
	font-size: 44px;
	line-height: 52px;
	font-weight: 700;
  }

  
/* === GLOBAL CONTAINER === */
.container {
	max-width: 1256px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
  }
  
  /* === HEADER === */
.site-header {
  background: #fff;
  font-family: inherit;
  height: 218px;
}
  
  /* === TOP HEADER === */
  .top-header {
	font-size: 14px;
  }
  
.contact-header {
  display: flex;
  flex-direction: column;
  align-items: end;
  gap: 6px;
  position: relative;
  padding-top: 22px;
}

.top-mail, .top-phone {
  position: relative;
  z-index: 1;
}

.top-phone {
  color: #1D1D1B;
  font-size: 28px;
  font-weight: 600;
}

.top-mail {
  font-size: 15px;
  font-weight: 500;
}

.site-branding {
  padding-top: 22px;
}

.contact-header-bg {
  height: 180px;
  background-image: url('assets/images/header-contact.webp');
  position: absolute;
  width: 494px;
  top: 0;
  z-index: 0;
  left: -90px;
}
  
  .top-header-content a {
	color: #121212;
	text-decoration: none;
  }
  
  .top-header svg {
	margin-right: 8px;
	vertical-align: middle;
  }
  
  /* === MAIN HEADER === */
  
  .MenuSection {
	display: flex;
	justify-content: space-between;
	align-items: start;
	gap: 30px;
	flex-wrap: wrap;
  }
  
  /* === SITE BRANDING === */
  .site-branding img {
	height: auto;
	max-height: 90px;
  }
  
  /* === NAVIGATION === */
  .primary-navigation {
    display: flex;
    align-items: center;
    gap: 20px;
    }
    
    .primary-menu-container {
    display: flex;
    align-items: center;
    }
    
    /* === MENU LIST === */
    .NavList {
      display: flex;
      gap: 20px;
      list-style: none;
      margin: 0;
      padding: 0;
      height: 80px;
      align-items: center;
    }
  
    .NavList > li {
      position: relative;
      height: 80px;
      display: flex;
      align-items: center;
    } 
  
    .NavList li.has-megamenu {
      position: inherit;
    }
    
    .NavList > li > a {
      text-decoration: none;
      color: #474d4d;
      font-weight: 700;
      font-size: 18px;
    }
  
    .sub-menu-toggle {
      display: none;
    }
    
    .menu-item .icon {
      display: inline-block;
      margin-left: 8px;
      /* transform: rotate(0deg); */
      transform: translateY(-4px);
      transition: transform 0.3s ease;
      }
    
    .menu-item.menu-item-has-children > .icon::before {
      content: "\f078";
      font: normal normal normal 12px/1 FontAwesome;
      color: #377550;
      }
    
      /* .menu-item.menu-item-has-children:hover > .icon {
      transform: rotate(180deg);
      } */
    
    /* Ukrycie rozwijanego podmenu */
    .NavList > li > .sub-menu,
    .sub-menu:not(.has-columns) .sub-menu {
      position: absolute;
      left: -21px;
      top: 75px;
      background: #f5f3f4;
      border: 1px solid #e8e5e5;
      width: var(--global--content--width);
      z-index: 99;
      pointer-events: none;
      transition: opacity 0.3s ease, transform 0.3s ease;
      opacity: 0;
      visibility: hidden;
      transform: translateY(10px);
    }
  
    .sub-menu.has-columns > li {
      display: flex;
      flex-direction: column;
    }
  
    .menu-item.menu-item-has-children:hover > .sub-menu:not(.has-columns) {
      display: block;
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
      pointer-events: auto;
    }
  
    .menu-item.show-submenu > .sub-menu.has-columns {
      display: grid;
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
      pointer-events: auto;
    }
  
    .sub-menu a.submenu-headline {
      cursor: default;
      position: relative;
      color: #212424;
      padding: 8px 0px 28px 32px;
      font-size: 18px;
    }
    
    .sub-menu .icon {
    display: none;
    }
  
    .sub-menu.has-columns {
      display: grid;
      gap: 1.5rem;
    }
  
    .sub-menu.columns-2 {
      grid-template-columns: repeat(2, 1fr);
    }
    .sub-menu.columns-3 {
      grid-template-columns: repeat(3, 1fr);
    }
    .sub-menu.columns-4 {
      grid-template-columns: repeat(4, 1fr);
    }
  
    .menu-item.menu-item-has-children > .sub-menu > li:hover .sub-menu {
    pointer-events: all;
    transform: translate(0px, 0px);
    }
    
    .sub-menu li {
    list-style: none;
    }
    
  .sub-menu li a {
      text-decoration: none;
      text-decoration-thickness: auto;
      margin-bottom: 0;
      display: block;
      transition: all 0.3s ease, color 0.3s ease;
      line-height: 20px;
      padding-bottom: 16px;
      font-weight: 500;
      font-size: 14px;
      color: #576262;
  }
    
    .sub-menu li a:hover {
    border-color: #C5DBD0;
    }
    
    .sub-menu .subm-menu li a:hover {
    border-color: #fff;
    }  
  
    .has-columns .sub-menu {
      padding-left: 32px;
    }
  
  /* === MOBILE MENU TOGGLE === */
  .mobile-nav-toggle-button {
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
  }
  
  /* Ukryj przycisk nawigacji na desktopie */
  @media (min-width: 768px) {
	.mobile-nav-toggle-button {
	  display: none;
	}
  }
  
  /* === MENU MODAL (mobilne menu) === */
  .menu-modal {
	display: none; /* Ukryte domyślnie, pokaż przez JS */
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: white;
	z-index: 9999;
	padding: 20px;
	overflow-y: auto;
  }
  
  .showing-menu-modal .menu-modal {
	display: block;
  }
  
  .menu-modal .menu-top {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 20px;
  }
  
  .modal-menu {
	list-style: none;
	padding: 0;
	margin: 0;
  }
  
  .modal-menu li {
	margin-bottom: 10px;
  }
  
  .modal-menu a {
	font-size: 18px;
	text-decoration: none;
	color: #121212;
  }
  

/* mobile menu */

.menu-modal {
	display: none;
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #fff;
	padding: 30px;
	overflow-y: auto;
	transition: opacity 0.3s ease, transform 0.3s ease;
	opacity: 0;
	transform: translateY(-20px);
  }
  
  .menu-modal.active {
	display: block;
	opacity: 1;
	transform: translateY(0);
  }
  
  .mobile-nav-toggle-button,
  .close-mobile-nav-toggle-button {
	background: none;
	border: none;
	cursor: pointer;
	padding: 10px;
  }
  
  .modal-menu {
	list-style: none;
	margin: 30px 0 0;
	padding: 0;
  }
  
  .modal-menu li {
	margin-bottom: 20px;
  }
  
  .modal-menu li a {
	text-decoration: none;
	font-size: 20px;
	color: #121212;
  }
  
  body.showing-menu-modal {
	overflow: hidden;
  }
  

  .datazen-slider {
    position: relative;
    overflow: hidden;
    max-width: 100%;
    max-height: 800px;
}

.datazen-slide::before {
  position: absolute;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 1;
}

.datazen-slide {
    display: none;
    animation: fadeIn 0.8s ease;
    position: relative;
    max-height: 800px;
}

.datazen-slide img {
  width: 100%;
  height: auto;
  display: block;
  position: absolute;
  transform: translateY(-10%);
  z-index: 0;
}

.datazen-slide-content {
  z-index: 2;
  color: white;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  height: 800px;
  position: relative;
  align-items: start;
}

.datazen-slider-subtitle,
.datazen-slider-title,
.datazen-slider-text {
    opacity: 0;
    animation-fill-mode: forwards;
}

.datazen-slider-subtitle {
    animation: slideUpFadeIn 0.6s ease 0s forwards;
}

.datazen-slider-title {
    animation: slideUpFadeIn 0.6s ease 0.2s forwards;
}

.datazen-slider-text {
    background: #006965;
    font-weight: 300;
    padding:24px 220px 0 28px;
    position: absolute;
    bottom: 0;
    max-width: 800px;
    right: 0;
    animation: slideRightFadeIn 0.6s ease 1s forwards;
    max-height: 120px;
    height: 120px;
  }

@keyframes slideUpFadeIn {
    from {
        transform: translateY(20px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slideRightFadeIn {
    from {
        transform: translateX(30px);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.datazen-button {
    display: inline-flex;
    align-items: center;
    background-color: #af0e3c;
    color: white;
    padding: 0.8rem 1.6rem;
    font-weight: bold;
    text-decoration: none;
    border-radius: 2rem;
    font-size: 1rem;
    transition: background-color 0.3s ease;
}

.datazen-button:hover {
    background-color: #181818;
}

.datazen-icon {
    display: inline-block;
    margin-left: 0.6rem;
    width: 1.2rem;
    height: 1.2rem;
    background-image: url('data:image/svg+xml,%3Csvg viewBox="0 0 24 24" fill="white" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M13.172 12l-4.95-4.95 1.414-1.414L16 12l-6.364 6.364-1.414-1.414z"/%3E%3C/svg%3E');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}


/* TABS */

.datazen-tabs-nav {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}

.datazen-tabs-nav button {
  padding: 0.5rem 1rem;
  background: #eee;
  border: none;
  cursor: pointer;
}

.datazen-tabs-nav button.active {
  background: #000;
  color: #fff;
}

.datazen-tab-panel {
  display: none;
}

.datazen-tab-panel.active {
  display: block;
}


/* modal */

.datazen-modal {
	display: none;
	position: fixed;
	z-index: 1000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.6);
}

.datazen-modal-content {
	background-color: #fff;
	margin: 10% auto;
	padding: 20px;
	width: 80%;
	max-width: 680px;
	position: relative;
	border-radius: 12px;
}

.modal-x {
	position: absolute;
	top: 10px;
	right: 16px;
	cursor: pointer;
	font-size: 24px;
}


/* counter */

.datazen-counter {
	text-align: center;
	font-size: 2em;
}

.counter-number {
	display: inline-flex;
	align-items: baseline;
	font-weight: bold;
}

.counter-symbol {
	margin-left: 0.25em;
	font-size: 0.8em;
}

.counter-title {
	margin-top: 0.5em;
	font-size: 1em;
	color: #666;
}

/* datazen contact box */

.datazen-contact-content {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 14px;
}

.datazen-contact-icon {
  width: 36px;
  height: 36px;
  display: flex;
  background: #161A1D;
  align-items: center;
  justify-content: center;
}

/* VENDOR */

/* bloker mobile */

.desktop-only-blocker {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    background: #2b5e44;
    color: #fff;
    pointer-events: all;
}

.desktop-only-blocker-content {
    max-width: 420px;
    margin: auto;
    padding: 32px 24px;
    text-align: center;
    display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.desktop-only-blocker h2 {
    font-size: 22px;
    line-height: 30px;
    margin-bottom: 16px;
}

.desktop-only-blocker p {
    font-size: 16px;
    line-height: 1.5;
    opacity: 0.9;
}

/* BLOKADA SCROLLA */
html.desktop-only,
body.desktop-only {
    overflow: hidden !important;
}


.woocommerce-MyAccount-navigation {
  width: 22% !important;
  margin-bottom: 32px;
  max-width: 260px;
}

.woocommerce-account .woocommerce-MyAccount-content {
  width: 76%;
}

.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.woocommerce-MyAccount-navigation li {
    margin: 0;
}

.woocommerce-MyAccount-navigation a {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    font-size: 15px;
    font-weight: 500;
    color: #2b2b2b;
    text-decoration: none;
    border-radius: 8px;
    background: #f6f7f8;
    transition: background .2s ease, color .2s ease;
}

.woocommerce-MyAccount-navigation a:hover {
    background: #e9ebee;
    color: #000;
}

.woocommerce-MyAccount-navigation .is-active a {
    background: #111;
    color: #fff;
}

.vendor-configs-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 12px;
    font-size: 14px;
}

.vendor-configs-table thead th {
    text-align: left;
    font-weight: 600;
    color: #666;
    padding: 0 16px 8px;
}

.vendor-configs-table tbody tr {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(0,0,0,.05);
    transition: transform .15s ease, box-shadow .15s ease;
}

.vendor-configs-table tbody tr:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.vendor-configs-table td {
    padding: 16px;
    vertical-align: middle;
}

.vendor-configs-table td:first-child {
    border-radius: 12px 0 0 12px;
}

.vendor-configs-table td:last-child {
    border-radius: 0 12px 12px 0;
}

.vendor-configs-table .config-name {
    font-weight: 600;
    font-size: 15px;
    color: #111;
    max-width: 274px;
}

.vendor-configs-table td:nth-child(2),
.vendor-configs-table td:nth-child(3) {
    color: #777;
    font-size: 13px;
    white-space: nowrap;
}

.vendor-configs-table .actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.woocommerce .vendor-configs-table .button {
padding: 6px 14px;
  font-size: 13px;
  border-radius: 4px;
  border: 1px solid transparent;
  cursor: pointer;
  background: #f1f3f5;
  color: #3a3a3a;
  font-weight: 400;
    transition: background .15s ease, color .15s ease, border .15s ease;
}

.woocommerce .vendor-configs-table .button:hover {
    background: #e4e6e9;
}

.woocommerce .vendor-configs-table .load-config {
    background: #2b5e44;
    color: #d0e8dc;
    font-weight: 600;
}

.woocommerce .vendor-configs-table .load-config:hover {
    background: #000;
    color: #fff;
}

.woocommerce .vendor-configs-table .edit-name {
    background: #eef1f5;
}

.woocommerce .vendor-configs-table .delete-config {
    background: #fff;
    border-color: #f3c4c4;
    color: #c0392b;
}

.woocommerce .vendor-configs-table .delete-config:hover {
    background: #fbeaea;
}

.vendor-menu-title {
  font-size: 20px;
  font-weight: 600;
}

.woocommerce-EditAccountForm #account_display_name,
.woocommerce-EditAccountForm label[for="account_display_name"],
.woocommerce-EditAccountForm #account_display_name_description {
  display: none !important;
}

.woocommerce form .form-row .input-text, .woocommerce form .form-row select {
  border-color:#a7b3ad;
}

.woocommerce-form-row label {
  font-size: 14px;
  color: #2d2d2d;
}

.woocommerce-EditAccountForm fieldset {
  border: 1px solid #f3eee8;
  background: #f8f5f0;
  padding: 28px;
  border-radius: 15px;
  margin: 20px 0 30px;
}

.woocommerce .woocommerce-Button {
  font-size: 14px !important;
  padding: 12px 24px !important;
  border-radius: 6px !important;
  font-weight: 500 !important;
}

ul.wp-block-list.panel-list li {
  margin-bottom: 12px;
}

h5.panel-title {
  margin-bottom: 16px;
}


.vendor-config-form {
  position: fixed;
  bottom: 0;
  z-index: 999;
  background: #2b5e44;
  color: #7ea290;
  width: 100%;
  padding: 16px 0;
}

.config-save-form-title {
  font-size: 20px;
  color: #fff;
  margin-bottom: 12px;
  font-weight: 500;
display: flex;
  gap: 6px;
  align-items: baseline;
}

#current-config-name {
  color: #f39200;
  font-size: 28px;
}

.config-save-content {
  display: flex;
  align-items: center;
  gap: 32px;
}

.vendor-config-status.success {
  color: #fff;
  font-size: 16px;
  background: #0064ff;
  padding: 6px 14px;
}

#vendor-config-name {
  border: 1px solid #1a4831;
  background: #a1c6b3;
  border-radius: 5px;
  padding: 8px 16px;
  width: 400px;
  color: #181818;
  font-size: 14px;
  margin-left: 8px;
}

.save-config-btn, .header-btn {
  background-color: #f39200;
  color: #181818;
  padding: 9px 28px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.25s;
  display: flex;
  font-weight: 600;
  font-size: 14px;
}

.header-btn {
  background-color: #2b5e44;
  color: #fff;
  margin-top: 44px;
  padding: 12px 36px;
}

.save-config-btn:hover,
.header-btn:hover {
  background-color: #181818;
  color: #fff;
}

.woocommerce-form.woocommerce-form-login.login {
  max-width: 400px;
  margin: 0 auto 40px;
  background-color: #f8f5f0;
  border-color: #f3eee8;
}

.woocommerce-button.button.woocommerce-form-login__submit {
  background-color: #2b5e44;
  color: #fff;
  border-radius: 50px;
  padding: 16px 32px;
}

.woocommerce-form-login .form-row:not(.form-row-wide) {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin-bottom: 20px;
  margin-top: 16px;
}

.post-11 h2 {
  text-align: center;
}

.woocommerce-LostPassword.lost_password {
  opacity: .6;
  font-size: 14px;
}

.btn-color-glowny {
  background-color: #2b5e44;
}

.btn-color-dodatkowy {
  background-color: #5ab788;
}

.login-container {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 28px;
    margin: 60px auto;
    background: #ffffff;
    padding: 0 22px;
}

.login-option {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.login-option h2 {
    font-size: 28px;
    margin-bottom: 12px;
}

.login-option p {
    font-size: 15px;
    line-height: 1.5;
    color: #666;
    margin-bottom: 24px;
    max-width: 320px;
}

.login-divider {
    width: 1px;
    background: linear-gradient(
        to bottom,
        transparent,
        #ddd,
        transparent
    );
}

/* Mobile */

@media (max-width: 768px) {
    .login-container {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .login-divider {
        display: none;
    }

    .login-option {
        align-items: center;
        text-align: center;
    }

    .login-option p {
        max-width: none;
    }
}


#zapisz-konfiguracje {
  position: relative;
  z-index: 999;
}

.narrow-text {
  max-width: 570px;
  margin: 0 auto;
  font-size: 20px;
  line-height: 32px;
  color: #575756;
}

ul.wp-block-list {
  list-style: none;
  display: flex;
  gap: 2px 12px;
  flex-wrap: nowrap;
  font-size: 14px;
  padding: 0;
  flex-direction: column;
}

ul.wp-block-list li {
  position: relative;
  padding-left: 28px;
  line-height: 24px;
  margin-bottom: 28px;
  font-weight: 400;
  font-size: 16px;
  color: #575756;
}

ul.wp-block-list li::before {
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  border: 4px solid #F39200;
  border-radius: 50px;
  left: 0;
  top: 5px;
}

.datazen-rounded-block {
  background-repeat: no-repeat;
  width: 140px;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  padding-top: 10px;
  padding-right: 10px;
  margin: 0 auto;
}

.datazen-rounded-block p {
  font-size: 52px;
  font-weight: 700;
}

.vendomaster-pattern {
  background: url('assets/images/vendomaster-pattern.webp') repeat;
  padding: 68px 0 124px 0;
  margin-bottom: -100px;
}

.vendomaster-pattern-column {
  padding: 0 16px;
}

.vendor-machine {
  display: flex;
  justify-content: center;
}

.vendor-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 48px 10px;
  background: #181818;
  padding: 40px 40px 100px;
  border-radius: 25px 0 0 25px;
  border: 4px solid #433E38;
  max-width: 1294px;
  flex: 0 0 100%;
}
.vendor-control {
  display: flex;
  align-items: center;
  background-color: #2C2C2C;
  background-image: -webkit-linear-gradient(top, #2C2C2C 0%, #3C3C3C 100%);
  background-image: linear-gradient(to bottom, #2C2C2C 0%, #3C3C3C 100%);
  padding: 24px;
  border-radius: 0 25px 25px 0;
}

.vendor-box {
  text-align: center;
  cursor: pointer;
  position: relative;
  height: 285px;
  background-size: 143px;
  background-repeat: no-repeat;
}
.clickable-cover {
  font-weight: 600;
  color: #fff;
  line-height: 18px;
  font-size: 14px;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 28px;
  display: flex;
}
.vendomaster-btn {
  background: #F39200;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  border-radius: 50px;
  display: inline-flex;
  padding: 3px 22px;
  line-height: 16px;
  cursor: pointer;
}
/* .vendor-box.pojedynczy-slot { background: #f9f9f9; }
.vendor-box.podwojny-slot { background: #eef7ff; } */
.vendor-box .change-product {
  display: none;
}
.vendor-box .vendomaster-btn {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}
.pusty-slot .vendomaster-btn {
  bottom: 32px;
}
.vendor-box.has-product .change-product { display: block; }

.product-info {
  font-size: 14px;
  font-weight: 600;
  line-height: 16px;
  padding: 0 6px;
  bottom: 30px;
  color: #fff;
  position: absolute;
  text-align: center;
  width: 100%;
}

.double-info {
  color: #f33900;
  font-size: 12px;
  font-weight: 500;
  line-height: 12px;
  margin-top: 2px;
}

.slot-disabled {
  pointer-events: none;
}

#vendor-order-form {
  max-width: 380px;
  margin: 0 auto;
}

.form-cover-block {
  background: rgba(0,0,0,0.5);
  position: absolute;
  height: 100%;
  width: 100%;
  text-align: center;
  color: #f0dab7;
  font-size: 28px;
  padding: 240px 30px 0 30px;
  line-height: 36px;
  text-shadow: 1px 1px 4px rgba(0,0,0,0.5);
  border-radius: 25px 25px 0 0;
}

.vendor-form-section, 
.vendor-form-block {
  position: relative;
  z-index: 1;
}

.vendor-form-section {
  max-width: 580px;
  margin: 0 auto 48px;
}

.form-welcome {
  font-size: 20px;
  line-height: 32px;
  text-align: center;
  color: #fff;
  padding: 0 16px;
  margin-bottom: 40px;
}

.vendor-form-section h2 {
  text-align: center;
  margin-bottom: 40px;
}

.form-bg-green,
.form-bg-orange {
  position: absolute;
}

.form-bg-green {
  bottom: -28px;
  z-index: 0;
  width: 1340px;
  transform: translate(-50%, 0%);
  left: 50%;
}

.form-bg-green svg {
  transform: scale(1.06);
}

.form-bg-orange svg {
  transform: scale(1.06);
}

.form-bg-orange {
  bottom: -27px;
  z-index: -1;
  right: -66px;
}

#vendor-order-form label {
  display: block;
  font-weight: 500;
  color: #181818;
  font-size: 16px;
}

.form-hint {
  font-size: 13px;
  font-weight: 400;
  color: #186a41;
  margin-top: -6px;
  display: block;
}

.vendor-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.75);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  z-index: 9999;
}

.vendor-overlay-inner {
  background: rgba(0, 0, 0, 0.8);
  padding: 30px 40px;
  border-radius: 16px;
  text-align: center;
  font-family: sans-serif;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
}

.vendor-overlay-inner h2 {
  margin-bottom: 10px;
  font-size: 1.5rem;
}

.vendor-overlay-inner p {
  font-size: 1.1rem;
}

#vendor-order-form input[type="text"],
#vendor-order-form input[type="tel"],
#vendor-order-form input[type="email"],
#vendor-order-form textarea {
  width: 100%;
  padding: 7px 14px;
  margin-top: 12px;
  border: 1px solid #44A373;
  border-radius: 8px;
  font-size: 14px;
  transition: border-color 0.2s, box-shadow 0.2s;
  background: #fff;
}

#vendor-order-form input[type="text"]:focus,
#vendor-order-form input[type="tel"]:focus,
#vendor-order-form input[type="email"]:focus,
#vendor-order-form textarea:focus {
  border-color: #0073aa;
  box-shadow: 0 0 4px rgba(0, 115, 170, 0.3);
  outline: none;
}

.button-submit-holder {
  display: flex;
  justify-content: center;
  margin-top: 18px;
}

#vendor-order-form button[type="submit"] {
  display: inline-block;
  background: #181818;
  color: #fff;
  font-size: 18px;
  padding: 16px 32px 16px 36px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.25s;
  display: flex;
  gap: 16px;
  font-weight: 600;
}

#vendor-order-form button[type="submit"]:hover {
  background: #2b5e44;
}

#vendor-order-form .vendor-order-msg {
  color: #fff;
  font-size: 18px;
  text-align: center;
}

#vendor-order-form.success .vendor-order-msg {
  text-align: center;
  color: #DCDBF8;
  font-size: 19px;
  font-weight: 600;
  border-radius: 5px;
  padding: 16px 46px 16px 12px;
  border: 1px solid #4B49DF;
  display: block;
  background: #6A6FCC url('assets/images/thumb.png') no-repeat 95% center;
  background-size: 22px;
  letter-spacing: -0.2px;
  position: absolute;
  bottom: 0;
  width: 380px;
}

#vendor-order-form.error .vendor-order-msg {
  display: block;
}

.top-phone {
  display: flex;
  align-items: center;
  gap: 12px;
}

.modal-products {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  justify-content: center;
}

.modal-block {
  background:#fff; 
  padding:20px; 
  width:80%; 
  max-height:80%; 
  overflow:auto; 
  position:relative;
  box-shadow: 0px 0px 40px 12px rgba(0,0,0,0.4);
}

#modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  cursor: pointer;
  font-size: 22px;
  background: #5AB788;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  text-align: center;
  padding: 7px;
  color: #000;
}

#product-modal h2 {
  text-align: center;
  margin-bottom: 36px;
  font-size: 28px;
}

.modal-product {
  cursor: pointer;
  width: 114px;
  transition: all .3s ease-in-out;
}

.modal-product:hover {
  color: #5AB788;
}

.modal-product img {
  max-width: 114px !important;
  height: auto !important;
  border-radius: 10px;
  margin-bottom: 12px;
  transition: all .3s ease-in-out;
}

.modal-product:hover img {
  opacity: .8;
}

.modal-product p {
  text-align: center;
  font-weight: 600;
  font-size: 14px;
  line-height: 18px;
}

.pusty-slot {
    background-image: url('assets/images/product-bg.jpg');
}

.img-coca-cola-sprite-fanta-05-l {
    background-image: url('assets/images/coca-cola-500.jpg');
}

.img-pepsi-7up-mirinda-05-l {
    background-image: url('assets/images/pepsi-500.jpg');
}

.img-coca-cola-033-l {
  background-image: url('assets/images/coca-cola-033.jpg');
}

.img-pepsi-033-l {
  background-image: url('assets/images/pepsi-033.jpg');
}

.img-tiger {
    background-image: url('assets/images/tiger.jpg');
}

.img-mountain-dew-033-l {
    background-image: url('assets/images/mountain-dew.jpg');
}

.img-drwitt {
    background-image: url('assets/images/drwitt.jpg');
}

.img-tymbark-05-l {
    background-image: url('assets/images/tymbark.jpg');
}

.img-nestea-05-l {
    background-image: url('assets/images/nestea.jpg');
}

.img-frugo-05-l {
    background-image: url('assets/images/frugo.jpg');
}

.img-oranzada-hellena {
    background-image: url('assets/images/oranzada-hellena.jpg');
}

.img-woda-500-ml {
    background-image: url('assets/images/woda-500.jpg');
}

.img-danie-obiadowe {
    background-image: url('assets/images/danie-obiadowe.jpg');
}

.img-kanapka {
    background-image: url('assets/images/kanapka.jpg');
}

.img-kabanosy-tarczynski {
    background-image: url('assets/images/kabanosy-tarczynski.jpg');
}

.img-doritos {
    background-image: url('assets/images/doritos.jpg');
}

.img-lays {
    background-image: url('assets/images/lays.jpg');
}

.img-zupa-vifon {
    background-image: url('assets/images/vifon.jpg');
}

.img-paluszki-beskidzkie {
    background-image: url('assets/images/paluszki-beskidzkie.jpg');
}

.img-rogalik-7-days {
    background-image: url('assets/images/7-days.jpg');
}

.img-roshen {
    background-image: url('assets/images/roshen.jpg');
}

.img-zelki-zozole {
    background-image: url('assets/images/zozole-zelki.jpg');
}

.img-snickers-2pack {
    background-image: url('assets/images/snickers.jpg');
}

.img-twix-xtra {
    background-image: url('assets/images/twix.jpg');
}

.img-bounty {
    background-image: url('assets/images/bounty.jpg');
}

.img-ww-baton {
    background-image: url('assets/images/ww-baton.jpg');
}

.img-papita {
    background-image: url('assets/images/papita.jpg');
}

.img-eti-dare {
    background-image: url('assets/images/dare.jpg');
}

.img-eti-brownie {
    background-image: url('assets/images/eti-browni.jpg');
}

.img-lion {
    background-image: url('assets/images/lion.jpg');
}

.img-kitkat {
    background-image: url('assets/images/kitkat.jpg');
}

.img-oreo {
    background-image: url('assets/images/oreo.jpg');
}

.img-3bit {
    background-image: url('assets/images/3-bit.jpg');
}

.img-knoppers-baton {
    background-image: url('assets/images/knoppers-baton.jpg');
}

.img-knoppers-wafelek {
    background-image: url('assets/images/knoppers-wafelek.jpg');
}

.img-princessa-cafe-latte {
    background-image: url('assets/images/princessa-cafe-latte.jpg');
}

.img-princessa-krowka {
    background-image: url('assets/images/princessa-krowka.jpg');
}

.img-princepolo-xxl {
    background-image: url('assets/images/prince-polo.jpg');
}

.img-goralki-rozne-rodzaje {
    background-image: url('assets/images/goralki.jpg');
}

.img-grzeski-rozne-rodzaje {
    background-image: url('assets/images/grzeski.jpg');
}

.slot-disabled {
  background-image: url('assets/images/product-disabled.jpg') !important;
}

.slot-disabled .select-product, 
.slot-disabled .vendomaster-btn {
  display: none;
}

.footer-container {
  background: #2b5e44;
  position: relative;
  z-index: 2;
}

.footer-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 48px;
  padding: 32px 0 16px;
}

.footer-content {
  padding-bottom: 32px;
  font-size: 14px;
  color: #7ea290;
  text-align: center;
}

.footer-phone, .footer-mail {
  color: #fff;
  display: flex;
  align-items: center;
  gap: 12px;
}

@media (max-width: 1500px) {
  .vendor-grid {
    border-radius: 25px;
  }
  .vendor-control {
    display: none;
  }
}