/*
Theme Name: Bioglan theme
Description: Theme for Bioglan
Author: Dynamic Dog
Author URI: https://www.dynamicdog.se/
Template: hello-elementor
Version: 1.0.3
Text Domain: bioglan-theme
*/

/* Remove underline from Elementor buttons globally */

* {
  font-family: var(--PrimaryFont, Poppins);
}
.elementor-widget-button a,
.elementor-widget-button a:hover,
.elementor-button-link,
.elementor-button-link:hover {
  text-decoration: none !important;
}

li {
  margin-bottom: 4px;
}

a {
  cursor: pointer;
}

button {
  cursor: pointer;
}

p {
  margin: 0;
}

blockquote {
  border-left: 4px solid var(--BorderAccent, #8fc3e2);
  padding-left: 48px;
  margin-inline-start: 0px;
  margin-block-start: 0px;
  font-style: italic;
}
header {
  position: sticky;
  top: 0;
  z-index: 900;
  background-color: #fff;
}
/* 
 * HEADER OVERRIDE,
 * COPY THIS TO EVERY SITE
 * */
.site-header .e-con-inner {
  flex-wrap: nowrap !important;
}

.desktop-nav .elementor-nav-menu {
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}

.mobile-toggle {
  display: none;
}

.site-header.dynamic-mobile .desktop-nav,
.site-header.dynamic-mobile .header-cta {
  display: none !important;
}

.site-header.dynamic-mobile .mobile-toggle {
  display: block !important;
}
.elementor .header-cta {
  height: 48px;
  font-family: var(--PrimaryFont, Poppins);
  font-weight: 500;
  font-size: 1rem;
  color: var(--ButtonTextTertiary, #173c59);
  padding-block-start: 0.75rem;
  padding-block-end: 0.75rem;
  padding-inline-start: 1.5rem;
  padding-inline-end: 1.5rem;
  border-radius: 100px;
  background-color: var(--ButtonTertiary, #ffffff);
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: start;
  text-decoration: none;
  box-shadow: inset 0 0 0 2px #173c59;
  border: none;
  align-self: center;
}

.professionals-modal .modal-title {
  display: flex;
  justify-content: space-between;
  padding: 0;
  padding-bottom: 24px;
}

.professionals-modal .header-modal-buttons {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-left: 0;
  padding-right: 0;
  padding-top: 24px;
}
.professionals-modal .header-modal-buttons .modal-buttons {
  align-self: auto;
  height: 48px;
  min-height: 48px;
  font-family: var(--PrimaryFont);
  font-weight: 500;
  font-size: 1rem;
  color: var(--TextInverse);
  text-align: center;
  padding-block-start: 0.75rem;
  padding-block-end: 0.75rem;
  padding-inline-start: 1.5rem;
  padding-inline-end: 1.5rem;
  border-radius: 100px;
  background-color: var(--ButtonPrimary);
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
}
.elementor-nav-menu .elementor-item {
  left: 0;
}

.elementor-nav-menu .elementor-item:after {
  bottom: -7px;
  color: currentColor !important;
  background-color: currentColor !important;
  width: 100%;
  left: 0;
}

.elementor-nav-menu a.elementor-item:hover {
  text-decoration: underline;
  cursor: pointer;
}
.elementor-nav-menu a.elementor-item:active {
  text-decoration: underline;
}
.elementor-nav-menu li.current-page-ancestor > a {
  color: var(--e-global-color-v4-buttonprimary) !important;
}
.elementor-nav-menu li.current-page-ancestor > a::after {
  opacity: 1 !important;
}
ul.sub-menu > li > a {
  font-weight: 400 !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  text-decoration: underline;
}

.elementor-widget-text-editor ul {
  padding-inline-start: 26px;
}
.elementor-widget-text-editor h2 {
  font-weight: 600;
}
.elementor-widget-text-editor h3 {
  font-size: clamp(1.5rem, 2vw, 2rem);
  font-weight: 600;
}

.elementor-widget-text-editor h4 {
  font-size: clamp(1.35rem, 2vw, 1.5rem);
  font-weight: 600;
}
.elementor-widget-text-editor h5 {
  font-weight: 500;
  font-size: clamp(1.25rem, 2vw, 1.25rem);
  margin-block-end: 1rem;
}
.e-grid
  .e-div-block-base
  .elementor-widget-text-editor
  :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 0;
  margin-bottom: 16px;
}

.elementor-template .e-con-inner .e-con-inner {
  padding-top: 0;
  padding-bottom: 0;
}
footer .primary-button.e-button-base {
  height: 48px;
  min-height: 48px;
  font-family: var(--PrimaryFont);
  font-weight: 500;
  font-size: 1rem;
  color: var(--TextInverse);
  text-align: center;
  padding-block-start: 0.75rem;
  padding-block-end: 0.75rem;
  padding-inline-start: 1.5rem;
  padding-inline-end: 1.5rem;
  border-radius: 100px;
  background-color: var(--ButtonPrimary);
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: start;
  text-decoration: none;
}
footer .primary-button.e-button-base:hover {
  background-color: var(--ButtonHoverPrimary);
}

/*
 * CUSTOM VIDEO BLOCK [dd_video]
 */
.dd-video {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  line-height: 0;
  aspect-ratio: 4/3;
}

.dd-video video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dd-video__controls {
  position: absolute;
  right: 20px;
  bottom: 20px;
  display: flex;
  gap: 10px;
}

.dd-video__btn {
  width: 44px;
  height: 44px;
  padding: 0 !important;
  border: none;
  border-radius: 50%;
  background-color: #00000066 !important;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: background-color 0.2s ease;
}

.dd-video__btn:hover {
  background: rgba(40, 25, 18, 0.85);
}

.dd-video__btn svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

/* Icon state switching */
.dd-video .dd-video__icon-play,
.dd-video .dd-video__icon-sound-off {
  display: none;
}

.dd-video.is-paused .dd-video__icon-play,
.dd-video.is-muted .dd-video__icon-sound-off {
  display: block;
}

.dd-video.is-paused .dd-video__icon-pause,
.dd-video.is-muted .dd-video__icon-sound-on {
  display: none;
}
.e-con:has(.elementor-widget-template) {
  padding-left: clamp(16px, 3vw, 32px);
  padding-right: clamp(16px, 3vw, 32px);
}

.e-con-inner
  .elementor-widget.elementor-widget-text-editor
  .elementor-widget-container
  p {
  margin-bottom: 24px;
  margin-block-end: 24px;
}
.elementor-widget-text-editor a {
  color: var(--e-global-color-v4-buttontexttertiary);
}
.elementor-widget-text-editor a:hover {
  color: var(--e-global-color-v4-buttonprimary) !important;
}
.elementor-widget-text-editor a:-webkit-any-link {
  color: var(--e-global-color-v4-buttontexttertiary);
}

/* FORM */
.wpcf7 input[type='checkbox'] {
  width: 20px;
  height: 20px;
  accent-color: #1f3b53;
  cursor: pointer;
}

.wpcf7 {
  max-width: 42rem;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}

.wpcf7 label {
  display: block;
  margin-bottom: 1.5rem;
}

.wpcf7 input[type='text'],
.wpcf7 input[type='email'],
.wpcf7 input[type='tel'],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  margin-top: 0.5rem;
  padding: 1rem;
  border: 1px solid #cfcfcf;
  border-radius: 0.5rem;
  font: inherit;
  box-sizing: border-box;
}

.wpcf7 textarea {
  min-height: 10rem;
  resize: vertical;
}

.wpcf7 .wpcf7-list-item {
  display: block;
  margin: 1rem 0 0 0;
}

.wpcf7 .wpcf7-list-item-label {
  margin-left: 0.5rem;
}

.wpcf7 p {
  margin: 1rem 0;
}

.wpcf7 a {
  text-decoration: underline;
}

.wpcf7 input[type='submit'] {
  border: 0;
  display: flex;
  height: 48px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0.75rem 1.5rem;
  align-self: flex-end;
  font: inherit;
  cursor: pointer;
}
