/*
Theme Name: Kora
Author: Francesco Bondi
Description: Kora embraces its minimalist roots with clarity and balance. Optimized for the WordPress block editor, it features an extensive pattern library, versatile templates, and tailored color palettes—empowering designers and developers to create stunning websites.
Version: 1.6.1
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 7.2
License: GNU General Public License v3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kora
Tags: block-patterns, block-styles, custom-colors, custom-logo, custom-menu, editor-style, full-site-editing, one-column, style-variations, translation-ready, wide-blocks
*/


/* Legacy Styles (Do not remove)
---------------------------------------- */

/* -- Colors -- */

:root {
	--wp--preset--color--neutral: #f5f5f5;
}

.has-neutral-background-color {
	background-color: var(--wp--preset--color--neutral) !important;
}

/* -- Spacing -- */

:root {
	--wp--preset--spacing--x-small: clamp(10px, 2vw, 20px);
	--wp--preset--spacing--small: clamp(30px, 4vw, 40px);
	--wp--preset--spacing--medium: clamp(40px, 6vw, 60px);
	--wp--preset--spacing--large: clamp(50px, 8vw, 80px);
	--wp--preset--spacing--x-large: clamp(60px, 10vw, 100px);
}

/* Defaults
---------------------------------------- */
html, body {
  width: 100%;
  /*overflow-x: visible !important;*/
} 
html {
	/*scroll-behavior: smooth;*/
}

a,
button,
input,
textarea,
.wp-element-button {
	transition: all 0.2s ease-in-out;
}

a,
a:focus,
a:hover,
a:not(.wp-element-button) {
	text-decoration-thickness: 1px;
}

b,
strong,
th {
	font-weight: var(--wp--custom--font-weight--medium);
}

mark {
	font-size: var(--wp--preset--font-size--small);
	font-weight: var(--wp--custom--font-weight--regular);
	padding: 5px 8px;
}

/* -- Forms -- */

input,
select,
textarea {
	background-color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--contrast);
	border-radius: 0;
	box-sizing: border-box;
	color: var(--wp--preset--color--contrast);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: var(--wp--custom--font-weight--light);
	line-height: var(--wp--custom--line-height--medium);
	padding: 10px 15px;
	width: 100%;
}

input:focus,
textarea:focus {
	filter: brightness(95%);
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
	-webkit-appearance: none;
}

::placeholder {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.5;
}

/* Blocks
---------------------------------------- */

/* -- Cover -- */

.wp-block-cover.is-style-gradient .has-background-dim:not([class*=-background-color]) {
	background-color: transparent;
	background-image: linear-gradient(to top, rgba(0,0,0,0.75), rgba(0,0,0,1));
	opacity: 1;
}

/* -- Group -- */

.wp-block-group.is-style-fadeinup {
	opacity: 1;
	transform: none;
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.js-enabled .wp-block-group.is-style-fadeinup {
	opacity: 0;
	transform: translateY(20px);
}

.js-enabled .wp-block-group.is-style-fadeinup.fadeinup--active {
	opacity: 1;
	transform: none;
}

.js-enabled .wp-block-group.is-style-fadeinup.fadeinup--in-viewport {
	animation: fadeinup-animation 0.5s ease-out forwards;
	opacity: 0;
	transform: translateY(20px);
}

@keyframes fadeinup-animation {
	to {
		opacity: 1;
		transform: none;
	}
}

/* -- Navigation -- */

.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}

.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-open {
	border: 1px solid currentColor;
	padding: 2px;
}

/* -- Navigation Submenu -- */

.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open,
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}

.has-contrast-background-color .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open,
.has-contrast-background-color .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
	border-color: var(--wp--preset--color--contrast);
	min-width: 180px !important;
	padding: 10px;
}

.has-contrast-background-color .wp-block-navigation__submenu-container {
	border-color: var(--wp--preset--color--base);
}

.wp-block-navigation :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content {
	padding: 2px 10px;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	padding-left: 10px !important;
	padding-right: 10px !important;
	padding-top: 5px !important;
}

/* Utility
---------------------------------------- */

/* -- Position -- */

.is-style-position-fixed {
	position: fixed;
}

.is-style-position-relative {
	position: relative;
}

/* -- Z-Index -- */

.is-style-negative-zindex {
	z-index: -99;
}

.is-style-positive-zindex {
	z-index: 99;
}

/* Media Queries
---------------------------------------- */

@media only screen and (min-width: 600px) {

	/* -- Header -- */

	.site-header {
		position: sticky;
		top: 0;
		transition: transform 0.5s ease;
		z-index: 1000;
	}
	
	body.scroll-down .site-header {
		transform: translateY(-100%);
	}
	
	body.scroll-up .site-header {
		transform: translateY(0);
	}

}

@media only screen and (max-width: 600px) {

	/* -- Utility -- */

	.is-style-hidden-mobile {
		display: none !important;
	}

}

@media only screen and (max-width: 782px) {

	/* -- Columns -- */

	.wp-block-columns.is-style-column-reverse {
		flex-direction: column-reverse;
	}

}


/* Global
--------------------------------------------- */
html {
	/*overflow-x: hidden;*/
}

.site-footer a {
	text-decoration: none;
}

.site-footer a:hover {
	text-decoration: underline;
}


.site-header {
	background-color: transparent;

}

.logged-in .site-header {
	top: calc(var(--wp-admin--admin-bar--height));
}

.nav-wrapper {
	transition: all ease-in-out 0.3s;
}

.site-header.header-sticky {
	background-color: var(--wp--preset--color--white);
	backdrop-filter: saturate(180%) blur(48px) !important;
    background: hsla(0, 0%, 98%, .8) !important;
	z-index: 999999999999999;
	width: 100%;
}

.alignwide.has-bg-color-rotate,.alignwide.has-bg-color-rotate-alt {
    max-width: calc(var(--wp--style--global--wide-size) + (var(--wp--preset--spacing--60) + var(--wp--preset--spacing--60)))!important;
    padding-left: var(--wp--preset--spacing--large);
    padding-right: var(--wp--preset--spacing--large)
}


@keyframes bg-rotate {
  0%,100% { background-color: rgba(255, 90, 90, 0.2)}
  33%     { background-color: rgba(255, 90, 90, 0.2)  /* #FF5A5A */ }
  66%     { background-color: rgba(60, 15, 159, 0.2)  /* #3C0F9F */ }
}

.has-bg-color-rotate {
  background-color: rgba(255, 90, 90, 0.2);
  animation: bg-rotate 16s infinite 1s;
}

.is-style-background-blur {
	backdrop-filter: saturate(180%) blur(48px) !important;
    background: hsla(0, 0%, 98%, .8) !important;
}


.sticky-sections-wrap {
  position: relative;
}

.sticky-sections-wrap > .wp-block-cover.sticky-section {
  position: sticky;
  top: 0;
  min-height: 100vh;  /* fallback vecchio */
  min-height: 100svh;
  min-height: 100dvh;
}


@keyframes reveal {
	from {
		
		clip-path: inset(5% 5% 5% 5%);
	}
	to {
		
		clip-path: inset(0% 0% 0% 0%);
	}
}

.revealing-image {
	/* Create View Timeline */
	view-timeline-name: --revealing-image;
	view-timeline-axis: block;

	/* Attach animation, linked to the  View Timeline */
	animation: linear reveal both;
	animation-timeline: --revealing-image;

	/* Tweak range when effect should run*/
	animation-range: entry 25% cover 50%;
}


selector .et_pb_row {
    animation: ticker 30s linear infinite;
}

@keyframes ticker {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}
/* marquee css animation */

@keyframes marquee-left {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

@keyframes marquee-right {
  0% { transform: translateX(-50%); }
  100% { transform: translateX(0%); }
}

.is-style-marquee {
  white-space: nowrap;
  position: relative;
	overflow: hidden;
}

.is-style-marquee > .wp-block-group {
  display: inline-flex;
  min-width: max-content;
  align-items: center;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.is-style-marquee.direction-left > .wp-block-group {
  animation-name: marquee-left;
}

.is-style-marquee.direction-right > .wp-block-group {
  animation-name: marquee-right;
}

.is-style-marquee.speed-slow > .wp-block-group {
  animation-duration: 40s;
}

.is-style-marquee.speed-normal > .wp-block-group {
  animation-duration: 20s;
}

.is-style-marquee.speed-fast > .wp-block-group {
  animation-duration: 10s;
}

.is-style-marquee h2 {
  flex-shrink: 0;
  margin: 0;
  font-size: 2rem;
}
 /* MARQUEE */
@media (hover: hover) and (pointer: fine) {
	
	
.is-style-marquee:hover > .wp-block-group {
		animation-play-state: paused;
	}
}

.logo-link-wrap {
	position: relative; 	
}

.logo-popup-wrap {
	opacity: 0;
	transform: translateY(0rem);
	transition: opacity 0.3s ease, transform 0.3s ease;
	pointer-events: none;
	z-index: 2;
    width: 100%;
    position: absolute;
    inset: auto auto 0% 0%
}

.logo-popup {
    z-index: 2;
    position: relative;
    inset: auto auto 0 0%;
}

.logo-popup-link:hover > .logo-popup-wrap{
	opacity: 1;
	transform: translateY(-0.5rem);
	/* adjust as needed*/
	pointer-events: auto;
} 

.logo-popup-content {
    margin-bottom: 50px !important;
    flex-flow: column;
	width: 10rem;
    display: inline-flex;
}

.logo-popup-content p {
	white-space: normal;align-content
}
.customer_logo_icon {
    position: absolute;
    inset: -30px -12px auto auto
}


/* === CONTENITORE === */
.float-orbit{
  position: relative;
  width: 100%;
  overflow: visible;
}

/* === IMMAGINE CENTRALE === */
.float-orbit__center{
  position: relative;
  z-index: 1;
  margin: 0 !important;
  max-width: min(720px, 90vw);
  height: auto;
}

/* === ICONE (FIGURE) : posizione + centratura base === */
.float-orbit__icon{
  position: absolute;
  z-index: 3;
  pointer-events: none;
  will-change: transform;

  /* centratura base sempre UGUALE */
  transform: translate(-50%, -50%);
}

/* l’IMG fa il movimento morbido */
.float-orbit__icon > img{
  display: block;
  will-change: transform;
  transform: translate3d(0,0,0);
  animation: floaty-soft 7s ease-in-out infinite;
}

/* Durate/delay diversi per varietà (applica all'img) */
.float-orbit__icon.pos-2 > img{ animation-duration: 8.5s; animation-delay: -1.2s; }
.float-orbit__icon.pos-3 > img{ animation-duration: 6.8s; animation-delay: -2.4s; }
.float-orbit__icon.pos-4 > img{ animation-duration: 9.2s; animation-delay: -0.8s; }
.float-orbit__icon.pos-5 > img{ animation-duration: 7.4s; animation-delay: -1.9s; }
.float-orbit__icon.pos-6 > img{ animation-duration: 8.8s; animation-delay: -2.9s; }
.float-orbit__icon.pos-7 > img{ animation-duration: 6.9s; animation-delay: -1.1s; }
.float-orbit__icon.pos-8 > img{ animation-duration: 9.8s; animation-delay: -2.2s; }

/* === LE TUE POSIZIONI (ok così) === */
.float-orbit__icon.pos-1{ top: 11%; left: 62%; }
.float-orbit__icon.pos-2{ top: 11%; left: 84%; }
.float-orbit__icon.pos-3{ top: 84%; left: 61%; }
.float-orbit__icon.pos-4{ top: 84%; left: 16%; }
.float-orbit__icon.pos-5{ top: 84%; left: 39%; }
.float-orbit__icon.pos-6{ top: 84%; left: 83%; }
.float-orbit__icon.pos-7{ top: 11%; left: 39%; }
.float-orbit__icon.pos-8{ top: 11%; left: 18%; }

/* === ANIMAZIONE MORBIDA ONDULATORIA ===
   più “senoide”: tanti keyframe piccoli = zero scatti */
@keyframes floaty-soft{
  0%   { transform: translate3d(0, 0, 0) rotate(0deg) scale(1); }
  20%  { transform: translate3d(3px, -6px, 0) rotate(0.6deg) scale(1.01); }
  40%  { transform: translate3d(-2px, -10px, 0) rotate(-0.4deg) scale(1.02); }
  60%  { transform: translate3d(-4px, -6px, 0) rotate(-0.6deg) scale(1.01); }
  80%  { transform: translate3d(2px, -2px, 0) rotate(0.3deg) scale(1.005); }
  100% { transform: translate3d(0, 0, 0) rotate(0deg) scale(1); }
}

/* Accessibilità */
@media (prefers-reduced-motion: reduce){
  .float-orbit__icon > img{ animation: none; }
}
	
	/* Gradient text animato (leggero) */
.hero-gradient-text{
  /* fallback colore */
  color: #0179C0;

  /* gradient */
  background: linear-gradient(
 	90deg,
    #FF5A5A,
    #3C0F9F,
    #FF5A5A,
    #3C0F9F
  );

  background-size: 300% 100%;
  background-position: 0% 50%;

  /* “ritaglia” il background dentro il testo */
  -webkit-background-clip: text;
  background-clip: text;

  /* rende il testo trasparente per far vedere il background */
  -webkit-text-fill-color: transparent;

  /* animazione */
  animation: heroGradientShift 12s ease-in-out infinite;
}

/* Animazione dello “scorrimento” del gradiente */
@keyframes heroGradientShift{
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Accessibilità: rispetta chi preferisce meno animazioni */
@media (prefers-reduced-motion: reduce){
  .hero-gradient-text{ animation: none; }
}

.fb-feautured-image {
	display: block !important;
}
.wp-block-tiptip-hyperlink-group-block {
	text-decoration: none;
}

.border-gradient {
	--g1: #FF5A5A;
	--g2: #3C0F9F;
	position: relative;
	border-radius: 5px !important;
	border: 1px solid transparent !important;
	background:
		linear-gradient(var(--wp--preset--color--base, #fff), var(--wp--preset--color--base, #fff)) padding-box,
		linear-gradient(90deg, var(--g1), var(--g2), var(--g1)) border-box;
	background-size: 200% 200%;
	animation: personaBorder 6s ease-in-out infinite;
}

.underline-gradient {
  display: inline; /* Necessario per far aderire il fondo al testo */
  background-image: linear-gradient(to right, #FF5A5A, #3C0F9F);
  background-repeat: no-repeat;
  background-size: 100% 3px; /* Spessore della linea: 3px */
  background-position: 0 100%; /* Posiziona la linea in basso */
  padding-bottom: 5px; /* Opzionale: aggiunge spazio tra testo e linea */
}

.wp-block-ollie-mega-menu .wp-block-ollie-mega-menu__toggle .wp-block-ollie-mega-menu__toggle-icon {
    width: 0.8em !important;
}

.wp-block-group.is-linked .wp-block-cover__image-background {
    transition: transform 0.8s ease;
    transform: scale(1) translateY(0);
}

.wp-block-group.is-linked:hover .wp-block-cover__image-background {
    transform: scale(1.1) translateY(-2%);
}

.wp-block-group.is-linked .wp-block-cover {
    overflow: hidden;
}

.logo-popup-wrap ul {
	padding-left: 10px !important
}
