/* 
Theme Name: Adimer - Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child Theme
Author: Adimer Srl
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
:root {
  --e-global-color-fb6db6b: #fbfbfb;
  --e-global-color-9d4e611: #977e45;
  --e-global-color-a00f600: #0c0c0c;
  --e-global-color-e8601eb: #2a2205;
  --e-global-color-ae172ad: #d6b87f;
}
  */

.admin-bar header {
  margin-top: 32px;
}
@media only screen and (max-width: 782px) {
  .admin-bar header {
    margin-top: 46px;
  }
}

/* !---------
! SETUP 
! ---------*/
*:focus-visible {
  outline-color: var(--e-global-color-e8601eb);
}
b,
strong {
  font-weight: 600;
}
/* -------- ! HELPERS ! ---------*/
.emphasis {
  display: block !important;
  font-size: clamp(32px, 4vw, 42px) !important;
  font-weight: 500 !important;
  font-style: italic !important;
  color: var(--e-global-color-9d4e611) !important;
}

@media screen and (max-width: 768px) {
  .mobile-d-none {
    display: none;
  }
}
/* !---------
! PSEUDOS
! ---------*/
.arrow-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-left: 8px;
  padding-right: 8px;
  padding-bottom: 2px; /* spazio per la linea */
  text-decoration: none !important;
  /* NO overflow hidden */
}

.arrow-link::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.44s ease-in-out;
}

.arrow-link::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url("assets/icons/icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.37s ease-in-out;
}

.arrow-link:hover::before,
.arrow-link:focus-visible::before {
  transform: scaleX(1);
}

.arrow-link:hover::after,
.arrow-link:focus-visible::after {
  transform: translateX(4px);
}

@media (prefers-reduced-motion: reduce) {
  .arrow-link::before,
  .arrow-link::after {
    transition: none;
  }
}
/* !---------
! ELEMENTOR FIXES
! ---------*/
.e-con-inner {
  max-width: calc(var(--content-width) - 5vw) !important;
}
@media screen and (max-width: 768px) {
  .e-con-inner {
    max-width: calc(var(--content-width) - 10vw) !important;
  }
}
.elementor-heading-title {
  line-height: 1.1;
}
@media screen and (max-width: 430px) {
  .elementor-button {
    width: 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 850px) {
  .full-mt {
    --width: 100% !important;
    --flex-wrap: var(--flex-wrap-mobile) !important;
  }
  .full-mt .full-mt__text {
    padding-top: 40px !important;
    padding-right: 5vw !important;
    padding-bottom: 0px !important;
    padding-left: 5vw !important;
  }

  .full-mt .full-mt__text-no-tb {
    padding-top: 0px !important;
    padding-right: 5vw !important;
    padding-bottom: 0px !important;
    padding-left: 5vw !important;
  }
}
.elementor-kit-5 button:hover,
.elementor-kit-5 button:focus,
.elementor-kit-5 input[type="button"]:hover,
.elementor-kit-5 input[type="button"]:focus,
.elementor-kit-5 input[type="submit"]:hover,
.elementor-kit-5 input[type="submit"]:focus,
.elementor-kit-5 .elementor-button:hover,
.elementor-kit-5 .elementor-button:focus {
  transform: translate(-2px, -2px) !important;
}

/* ?---------
? HEADER
? ---------*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: var(--e-global-color-fb6db6b);
  transition: all 0.3s ease-in-out;
}
header .e-off-canvas {
  z-index: 11111 !important;
}
.mobile-logo,
.burger-menu {
  position: relative;
  z-index: 10000;
}

.burger-menu {
  z-index: 22222;
}
.burger-menu .elementor-icon svg path {
  transition: all 0.3s ease;
  transform-origin: center;
  transform-box: fill-box;
}

/* Linea superiore → ruota in diagonale */
.burger-menu .elementor-icon[aria-expanded="true"] svg path:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

/* Linea centrale → scompare */
.burger-menu .elementor-icon[aria-expanded="true"] svg path:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}

/* Linea inferiore → ruota in diagonale opposta */
.burger-menu .elementor-icon[aria-expanded="true"] svg path:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}
header.scrolled {
  border-color: var(--e-global-color-fb6db6b);
  box-shadow: 0 1px 32px rgba(17, 17, 16, 0.06);
}
.header-hidden {
  transform: translateY(-100%);
}
@media screen and (min-width: 993px) {
  header .e-off-canvas {
    display: none !important;
  }
}

/* MENUS */
/* header nav ul li:nth-child(3) {
  margin-inline-end: 150px !important;
}
header nav ul:not(.mobile-nav ul) {
  margin-left: -75px !important;
} */
header nav ul li a::after {
  position: absolute !important;
  content: "" !important;
  display: block !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 0 !important;
  height: 2px;
  background: var(--e-global-color-9d4e611);
  transition: width 0.3s ease-in-out;
}
header nav ul li a:hover::after {
  width: 90% !important;
}
footer a:hover {
  color: var(--e-global-color-9d4e611) !important;
}
/* ?---------
? TOOLTIP
? ---------*/
.tooltip-link {
  position: relative;
}
.tooltip-link::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 60%;
  left: 50%;
  background: var(--e-global-color-a00f600);
  color: var(--e-global-color-fb6db6b);
  padding: 6px 10px;
  border-radius: 4px;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}

.tooltip-link:hover::after {
  opacity: 1;
}
/* ?---------
? STRETCHY TEXT
? ---------*/
.stretchy-wrap {
  width: 100%;
  display: block;
}

.stretchy-svg {
  width: 100%;
  height: auto;
  overflow: visible;
  display: block;
}

.stretchy-text {
  font-family: "Red Hat Text", Sans-serif;
  font-weight: 400;
  fill: currentColor;
  text-transform: uppercase;
}
/* === Policy / CookieYes — scala tipografica fluida ===
   Range viewport: ~369px → ~2500px (la tua curva esistente).
   h1 INVARIATO come da richiesta. h2→p tutti un filo più piccoli. */

/* h1 — invariato */
#cky-policy-container :where(h2, h3, h4, h5, h6),
.policy-content :where(h2, h3, h4, h5, h6) {
  margin: 0 0 16px 0;
}
#cky-policy-container h1,
.policy-content h1 {
  color: var(--e-global-color-a00f600);
  font-family: "Red Hat Text", Sans-serif;
  font-size: clamp(2.3125rem, 1.7606rem + 2.3932vw, 5.5rem);
  font-weight: 600;
  line-height: 1.1;
  margin: 0 0 32px 0;
}

/* h2 — 30→52px (era 32→56) */
#cky-policy-container h2,
.policy-content h2 {
  color: var(--e-global-color-a00f600);
  font-family: "Red Hat Text", Sans-serif;
  font-size: clamp(1.875rem, 1.6369rem + 1.0324vw, 3.25rem);
  font-weight: 500;
  line-height: 1.15;
}

/* h3 — 23→37px — CLAMP CORRETTO (prima il min era morto) */
#cky-policy-container h3,
.policy-content h3 {
  color: var(--e-global-color-a00f600);
  font-family: "Red Hat Text", Sans-serif;
  font-size: clamp(1.4375rem, 1.286rem + 0.657vw, 2.3125rem);
  font-weight: 500;
  line-height: 1.2;
}

/* h4 — 20→30px */
#cky-policy-container h4,
.policy-content h4 {
  color: var(--e-global-color-a00f600);
  font-family: "Red Hat Text", Sans-serif;
  font-size: clamp(1.25rem, 1.1418rem + 0.4693vw, 1.875rem);
  font-weight: 500;
  line-height: 1.25;
}

/* h5 — 18→25px */
#cky-policy-container h5,
.policy-content h5 {
  color: var(--e-global-color-a00f600);
  font-family: "Red Hat Text", Sans-serif;
  font-size: clamp(1.125rem, 1.0492rem + 0.3285vw, 1.5625rem);
  font-weight: 500;
  line-height: 1.3;
}

/* h6 — 17→21px */
#cky-policy-container h6,
.policy-content h6 {
  color: var(--e-global-color-a00f600);
  font-family: "Red Hat Text", Sans-serif;
  font-size: clamp(1.0625rem, 1.0192rem + 0.1877vw, 1.3125rem);
  font-weight: 600; /* un filo più pesante: è il titolo più piccolo, va distinto dal body */
  line-height: 1.35;
}

/* p — 16→18px (mai sotto i 16px su mobile: a11y) */
#cky-policy-container p,
.policy-content p {
  color: var(--e-global-color-text); /* NON il colore-titolo: è corpo testo */
  font-family: "Red Hat Text", Sans-serif;
  font-size: clamp(1rem, 0.9783rem + 0.0939vw, 1.125rem);
  font-weight: 400;
  line-height: 1.6;
  margin: 0 0 8px 0;
}
a.cky-banner-element {
  margin-bottom: 32px;
  display: inline-block;
  background: var(--e-global-color-9d4e611) !important;
  border: 1px solid var(--e-global-color-9d4e611) !important;
  color: var(--e-global-color-fb6db6b) !important;
}
