/*
Theme Name: WooHubbol
Theme URI: https://www.hubbol.it
Author: Hubbol
Author URI: https://www.hubbol.it
Description: A simple theme for testing Gutenberg.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: gutenberg-starter-theme
Tags: translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

gutenberg-starter-theme is based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Vars
--------------------------------------------------------------*/
:root {
  /* Colors */
  --white: #ffffff;
  --grey-light: #f3f3f3;
  --grey: #cccccc;
  --grey-dark: #999999;
  --black: #000000;
  --plyr-color-main: #067139 !important;
  --primary: #966c1c;
}

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
* {
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1.2;
  text-decoration: none;
}

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

@view-transition {
  navigation: auto;
}

html {
  font-family: 'Montserrat', sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  view-transition-name: page;
}

::view-transition-old(page) {
  animation: slide-out 0.5s cubic-bezier(0.86, 0, 0.07, 1) forwards;
}

::view-transition-new(page) {
  animation: slide-in 0.5s cubic-bezier(0.86, 0, 0.07, 1) forwards;
}

@keyframes slide-out {
  0% {
    transform: translateY(0%);
  }

  100% {
    opacity: 0;
    transform: translateY(calc(-50% * var(--direction, 1)));
  }
}

@keyframes slide-in {
  0% {
    opacity: 0;
    transform: translateY(calc(50% * var(--direction, 1)));
  }

  100% {
    transform: translateY(0%);
  }
}

@media (prefers-reduced-motion: reduce) {

  ::view-transition-old(page),
  ::view-transition-new(page) {
    animation: none !important;
  }
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased;
  text-rendering: optimizeLegibility !important;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden !important;
}

html,
body {
  height: auto !important;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
  transition: color 0.3s ease-in-out;
}

a:active,
a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2.44em;
  margin: 0.67em 0;
  line-height: 1.4;
}

h2 {
  font-size: 1.95em;
  line-height: 1.4;
}

h3 {
  font-size: 1.56em;
  line-height: 1.4;
}

h4 {
  font-size: 1.25em;
  line-height: 1.5;
}

h5 {
  font-size: 1em;
}

h6 {
  font-size: 0.8em;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 0.875rem;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
  color: #191e23;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #191e23;
  clear: both;
}

footer h1, footer h2, footer h3, footer h4, footer h5, footer h6 {
  color: #fff;
}

.highlight-word {
  color: #1d71b8;
}

.entry-header {
  position: relative;
  padding: 50px 0;
  width: 100%;
  height: 100%;
  border-bottom: 1px solid var(--primary);
}

.entry-header .entry-title {
  position: relative;
  font-size: 3.25em;
  line-height: 1.4;
  width: min(1600px, 100% - 20vw);
  margin-inline: auto;
  text-align: center;
  color: var(--primary);
  z-index: 1;
}

/* ------------ Breadcrumbs ------------ */
.breadcrumbs {
  position: relative;
  margin-top: 20px;
  text-align: center;
  z-index: 1;
}

.breadcrumbs span,
.breadcrumbs a {
  font-size: 0.925rem;
  color: #1d71b8 !important;
  font-weight: 400;
  text-transform: initial !important;
  letter-spacing: 0 !important;
}

.breadcrumbs a:hover {
  color: #e73e1a !important;
}

.breadcrumbs .last {
  font-weight: 700;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  font-style: normal;
}

pre {
  font-family: "Montserrat", sans-serif;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 0.8em 1em;
}

code,
kbd,
tt,
var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 0.875rem;
}

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

  code,
  kbd,
  tt,
  var {
    font-size: 0.8125rem;
  }
}

p>code {
  padding: 2px;
  border-radius: 2px;
  background: #f3f4f5;
  font-size: inherit;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

.archive .site-header {
  margin-bottom: 3.5em;
}

.site-title {
  margin: 0;
  padding: 0;
  font-size: 38px;
  font-weight: bold;
  color: #333;
}

.site-title a {
  text-decoration: none;
  color: inherit;
}

.site-description {
  margin: .4375em 0 0;
  font-size: 17px;
  font-weight: inherit;
  line-height: 1.4;
  word-wrap: break-word;
  color: #6c7781;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  box-sizing: inherit;
}

html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

body {
  background: #fff;
  /* Fallback for when there is no custom background color defined. */
}

blockquote,
q {
  quotes: "" "";
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
}

hr {
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul {
  list-style: disc;
  padding-top: 10px;
  font-size: 16px;
}

ul li::marker {
  transition: color 0.3s ease-in-out;
}

ul li:hover::marker {
  color: #000; /* bullet nero quando si hover */
}

li.current-menu-item::marker {
  color: #000;
}

ol {
  list-style: decimal;
}

li {
  padding-bottom: 5px;
}

li>ul,
li>ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 1.5em 1.5em;
}

img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */
}

figure {
  margin: 1em 0;
  /* Extra wide images within figure tags don't overflow the content area. */
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/*--------------------------------------------------------------
# Cursor
--------------------------------------------------------------*/
.cursore {
  border: 2px solid var(--primary);
  border-radius: 50%;
  box-shadow: 0 0 10px var(--primary);
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 2rem;
  width: 2rem;
  transition: transform 0.08s, background 0.2s ease-out, height 0.2s ease-out, width 0.2s ease-out, opacity 0.2s ease-out;
  z-index: 9999999;
  mix-blend-mode: multiply;
}

.cursore.big {
  background: transparent;
  height: 3.5rem;
  width: 3.5rem;
  opacity: .3;
}

.cursore.small {
  height: 0.7rem;
  width: 0.7rem;
  background: transparent;
  opacity: .5;
  margin-left: 1px;
}

/*--------------------------------------------------------------
# Scroll to top
--------------------------------------------------------------*/
.scroll-top {
  position: fixed;
  z-index: 9998;
  padding: 0;
  right: 20px;
  bottom: 20px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(15px);
  height: 46px;
  width: 46px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all .4s ease;
  border: none;
  box-shadow: inset 0 0 0 2px #e0e0e0;
  color: var(--primary);
  background-color: transparent;
  shape-rendering: auto;
  mix-blend-mode: multiply;
}

.scroll-top.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.scroll-top .icon-tabler-arrow-up {
  position: absolute;
  stroke-width: 1.5px;
  stroke: var(--primary);
  transform: rotate(45deg);
  transition: all .4s ease;
  shape-rendering: auto;
}

.scroll-top:hover .icon-tabler-arrow-up {
  transform: rotate(0);
}

.scroll-top svg path {
  fill: none;
}

.scroll-top svg.progress-circle path {
  stroke-width: 5;
  shape-rendering: auto;
  transition: all .4s ease;
}

.scroll-top .overlap {
  color: #fff !important;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1;
  padding: .6em 1em .4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #666;
  border: 1px solid var(--primary);
  border-radius: 10px;
  padding: 3px;
  width: 100%;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  outline-color: var(--primary);
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
.nav-list,
.testata ul,
.testata ul,
.footer ul,
.footer ol {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.nav-list li,
.testata li,
.testata li {
  margin: 0;
  line-height: 1;
}

/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
  color: var(--primary);
}

footer a {
  color: #fff;
}

a:hover,
a:focus,
a:active {
  color: #00a0d2;
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
}

/*--------------------------------------------------------------
## Icons
--------------------------------------------------------------*/
.fa-solid {
  font-size: 75px;
}

.card #icon {
  padding: 25px 0;
  color: #fff;
  opacity: 0;
  transition: all 0.5s ease-in-out;
}

#contatti #icon {
  color: var(--primary);
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.admin-bar .content {
  margin-top: 32px;
}

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

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

  .admin-bar .testata-fissa,
  .admin-bar .testata-fissa .woocommerce-minicart {
    margin-top: 0;
  }
}

.content {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #ffffff;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 50px;
}

.main-navigation {
  padding: 25px 0;
}

.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
  font-weight: 600;
}

.main-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 100%;
  left: -999em;
  z-index: 99999;
  text-align: left;
}

.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}

.main-navigation ul ul li:hover>ul,
.main-navigation ul ul li.focus>ul {
  left: 100%;
}

.main-navigation ul ul a {
  width: 200px;
}

.main-navigation ul li:hover>ul,
.main-navigation ul li.focus>ul {
  display: block;
  left: auto;
}

.main-navigation li {
  position: relative;
}

.main-navigation li a:hover {
  color: var(--primary) !important;
}

.main-navigation a {
  display: block;
  text-decoration: none;
  color: #000;
}

.current-menu-item a {
  color: #000;
}

.menu-toggle {
  padding: 1em;
  position: fixed; /* keep above overlay */
  top: 12px;
  right: 16px;
  cursor: pointer;
  z-index: 100001; /* higher than .menu-container (100000) */
  pointer-events: auto;
}

.menu-toggle span {
  display: block;
  width: 30px;
  height: 4px;
  background: var(--primary);
  margin: 6px 0;
  transition: transform .6s, background-color 0.6s, opacity .6s;
}

/* Hamburger */
.menu-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  background-color: #000000;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-in-out;
  z-index: 100000; /* above header .content which has z-index: 10000 */
}

.menu-container.active {
  opacity: 1;
  pointer-events: all;
}

/* Ensure links are visible when overlay is active */
.menu-container.active .menu-item-mobile {
  opacity: 1;
  transform: translateY(0);
}
.menu-container.active .menu-item-mobile a {
  color: #fff !important;
}

.menu-item-mobile {
  display: flex;
  flex-direction: column;
  margin: 15px 0;
  font-size: 24px;
  font-weight: 600;
  text-transform: uppercase;
  text-align: center;
  opacity: 0;
  transform: translateY(-20px);
  animation: slideIn .3s ease forwards;
  animation-delay: .3s;
  list-style-type: none;
  gap: 15px;
}

.menu-container.closing .menu-item-mobile {
  animation: slideOut .3s ease forwards;
}

.menu-container .custom-logo {
  opacity: 0;
  transform: translateY(-20px);
  animation: slideIn .3s ease forwards;
  animation-delay: .3s;
  width: 220px; /* larger logo in mobile overlay */
  max-width: 70vw;
  height: auto;
}

.menu-container.closing .custom-logo {
  animation: slideOut .3s ease forwards;
}

.menu-container.active .custom-logo {
  opacity: 1;
  transform: translateY(0);
}

.menu-item-mobile a {
  color: #fff;
  text-decoration: none;
  transition: color 0.3s;
}

.menu-item-mobile a:hover {
  color: #EE2F24;
}

.menu-toggle.active span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
  background-color: #fff;
}

.menu-toggle.active span:nth-child(2) {
  opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
  background-color: #fff;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideOut {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    transform: translateY(-20px);
  }
}

@media screen and (max-width: 37.5em) {

  /* Small menu. */
  .menu-toggle,
  .main-navigation.toggled ul {
    display: block;
    margin: 0 auto;
  }

  .site-navigation {
    display: none;
  }

}

@media screen and (min-width: 37.5em) {
  .menu-toggle {
    display: none;
  }

  .main-navigation ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
  }

  .main-navigation a {
    padding: 0 .5em;
  }
}

.site-main {
  margin: 100px 0;
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  border-bottom: 1px solid #e2e4e7;
  margin: 0 auto 60px;
  /*max-width: 580px;*/
  overflow: hidden;
  padding-bottom: 60px;
}

.nav-links {
  display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  width: 50%;
  flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  text-align: end;
  flex: 1 0 50%;
}

/* ------- Testata Woocommerce menu - Desktop ------- */
.testata_woocommerce-links {
  margin-right: 15px;
}

.testata_woocommerce-menu {
  gap: 17px;
}

.menu-item-account-link {
  gap: 5px;
}

.stato-loggato {
  display: block;
  position: relative;
  top: 5px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--black);
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/

.alignleft,
.alignright {
  max-width: 580px !important;
  /* Let's work to make this !important unnecessary */
}

.alignleft img,
.alignright img,
.alignleft figcaption,
.alignright figcaption {
  max-width: 50%;
  width: 50%;
}

.alignleft figcaption {
  clear: left;
}

.alignright figcaption {
  clear: right;
}

.alignleft img,
.alignleft figcaption {
  float: left;
  margin-right: 1.5em;
}

.alignright img,
.alignright figcaption {
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}


/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget-area {
  width: 25%;
}

.widget {
  margin: 0 0 1.5em;
  /* Make sure select elements fit in widgets. */
}

.widget select {
  max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
#page {
  margin: 0 auto;
  max-width: 100%;
}

.site-branding {
  text-align: center;
  margin-right: auto;
}

.site-footer {
  padding: 50px 0;
  margin: 0;
  color: #fff;
  background-color: var(--primary);
  font-size: 90%;
}

/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
  display: block;
}

/*.hentry {
  margin: 60px 0;
}*/

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.entry-meta {
  color: #6c7781;
  font-size: 90%;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/*.entry-header,*/
.page-header,
.entry-footer,
.site-info,
.posts-navigation,
.post-navigation,
.page-navigation,
.comments-area,
.not-found .page-content,
.search .entry-summary {
  margin: 1.5em auto;
  padding-left: 14px;
  padding-right: 14px;
  max-width: 580px;
}

.entry-header .wp-post-image {
  margin-bottom: 1.5em;
}

.entry-footer span {
  margin-right: 1em;
}

.entry-footer {
  color: #6c7781;
  font-size: 90%;
  padding-bottom: 40px;
  border-bottom: 1px solid #e2e4e7;
}

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

  .entry-header,
  .page-header,
  .entry-footer,
  .site-info,
  .posts-navigation,
  .post-navigation,
  .page-navigation,
  .comments-area,
  .not-found .page-content,
  .search .entry-summary {
    padding-left: 0;
    padding-right: 0;
  }
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

.custom-logo {
  width: 65px;
  height: 65px;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33.3333333333%;
}

.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

.gallery-columns-6 .gallery-item {
  max-width: 16.6666666667%;
}

.gallery-columns-7 .gallery-item {
  max-width: 14.2857142857%;
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  max-width: 11.1111111111%;
}

.gallery-caption {
  display: block;
}

/* ------- Search bar ------- */
.search-bar .search-container {
  position: relative;
}

.search-bar input[type="search"] {
  margin-bottom: 0;
  min-width: 250px;
  padding: 7px 12px;
}

.search-bar button[type="submit"] {
  position: absolute;
  padding: 0;
  min-width: unset;
  height: 45px;
  width: 45px;
  right: 0;
  top: -2px;
  margin-top: 0;
  color: var(--white);
  border-radius: 50%;
}

/* Default */
.container {
  width: min(1600px, 100% - 20vw);
  margin-inline: auto;
}

.d-flex {
  display: flex;
}

.d-flex-c {
  display: flex;
  flex-direction: column;
}

.subtitle {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 16px;
  margin-bottom: 20px;
}

.spacer {
  padding: 100px 0;
}


/* Main */
.admin-bar .intestazione {
  height: calc(100svh - 32px);
}

@media screen and (max-width: 782px) {
  body.admin-bar .intestazione {
    height: calc(100svh - 46px);
  }
}

.intestazione {
  position: relative;
  width: 100%;
  height: 100svh;
  align-items: center;
  justify-content: center;
  /*background-image: url("assets/images/banner-bg-climatizzatore.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;*/
  background-color: var(--primary);
  color: #ffffff;
  text-align: center;
}

.intestazione::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000000;
  opacity: .25;
  z-index: 2;
}

#video-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.intestazione img {
  position: relative;
  margin: 30px 0;
  background-size: contain;
  padding: 50px;
  z-index: 3;
}

.intestazione h1 {
  position: relative;
  text-align: center;
  font-size: 50px;
  font-weight: 300;
  z-index: 3;
  color: #ffffff;
}

.intestazione h2 {
  position: relative;
  text-align: center;
  font-size: 40px;
  font-weight: 400;
  z-index: 3;
  color: #ffffff;
}

.contenitore-bottoni {
  position: relative;
  gap: 20px;
  margin-top: 30px;
  z-index: 3;
}

.intestazione button {
  position: relative;
  background-color: #187BBC;
  color: #fff;
  border: none;
  padding: 15px 25px;
  border-radius: 25px;
  cursor: pointer;
  font-family: 'Montserrat';
  font-size: 15px;
  transition: background-color .2s ease-in-out;
}

.intestazione button:hover {
  background-color: #145f8c;
}

.intestazione svg {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 3;
}

@media (max-width: 1250px) {
  .intestazione h1 {
    font-size: 35px;
  }

  .intestazione h2 {
    font-size: 25px;
  }

  .contenitore-bottoni {
    flex-direction: column;
  }

  .intestazione button {
    min-width: 190px;
  }
}

.chi-siamo {
  padding-top: 100px;
}

.sezione-prodotti {
  position: relative;
  background-color: #ffffff;
  padding-bottom: 100px;
}

.sezione-prodotti h2,
.sezione-assistenza h2,
.sezione-valori h2 {
  text-transform: uppercase;
  text-align: center;
  color: #000000;
  font-size: 40px;
  font-weight: 400;
  margin-bottom: 75px;
}

.pagina h2 {
  text-transform: uppercase;
  text-align: left;
  color: #000000;
  font-size: 40px;
  font-weight: 400;
}

.pagina p {
  margin-bottom: 50px;
}

.wrap {
  gap: 50px;
}

.card {
  position: relative;
  min-height: 350px;
  padding: 30px;
  width: 100%;
  border-radius: 10px;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 0;
  overflow: hidden;
  will-change: transform;
}

@media (max-width: 1250px) {
  .wrap {
    flex-direction: column;
    gap: 60px;
    min-height: 25vh;
  }

  .card .card-image {
    transform: scale(1.2) !important;
  }

  .card::after {
    opacity: .5 !important;
  }

  .card p,
  .card h3 {
    transform: translateY(0) !important;
    opacity: 1 !important;
  }
}

.card .card-image {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  object-fit: cover;
  z-index: -1;
  transform: scale(1);
  transition: all 0.3s ease-in-out;
}

.card .fix-position {
  object-position: 50% 45%;
}

.card::after {
  position: absolute;
  content: "";
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-color: #000000;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: -1;
}

.cards-wrapper .card::after {
  opacity: .3;
}

.cards-wrapper {
  align-items: flex-end;
}

.cards-inner {
  width: 100%;
}

.card p,
.card h3 {
  letter-spacing: 1px;
  transform: translateY(30px);
  transition: all 0.5s ease-in-out;
  margin-bottom: 15px;
}

.card h3 {
  opacity: 0;
  color: #fff;
}

.card p {
  opacity: 0;
  color: #fff;
}

.card:hover .card-image {
  transform: scale(1.2);
}

.card:hover #icon {
  opacity: 1;
  transform: translateY(-10px);
}

.card:hover::after {
  opacity: .85;
}

.card:hover p,
.card:hover h3 {
  transform: translateY(0);
  opacity: 1;
}

.first-row {
  margin-bottom: 50px;
}

.chi-siamo h2 {
  margin-bottom: 75px;
  text-align: center;
}

.chi-siamo p {
  text-align: justify;
  margin-bottom: 75px;
}

/* Banner */
.sezione-banner .banner {
  position: relative;
  min-height: 300px;
  width: 100%;
  /*background-image: url("assets/images/img.jpg");
  background-attachment: fixed;
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;*/
  background-color: var(--primary);
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
  overflow: hidden;
}

.sezione-banner h2 {
  color: #fff;
}

.cf7-two-cols {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  margin-bottom: 5px;
}

.cf7-half {
  flex: 1;
  min-width: 45%;
}

.cf7-privacy {
  display: block;
  font-size: 0.9em;
  margin-left: 0;
  padding-left: 0;
}

.cf,
.cf1 {
  display: block;
  margin-top: 5px;
}

.wpcf7-form .cf7-half label,
.wpcf7-form .cf7-full label,
.wpcf7-form>label:not(.cf7-privacy) {
  display: flex;
  flex-direction: column;
  gap: 7px;
  /* distanza tra il testo del label e il campo */
}

.wpcf7-list-item {
  display: flex;
  align-items: flex-start;
  /* o center, se preferisci centrato verticalmente */
  gap: 0.5em;
  /* spazio tra checkbox e testo */
}

.wpcf7-list-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5em;
  padding-left: 0;
  margin-left: 0;
}

.wpcf7-list-item>label {
  display: flex;
  align-items: flex-start;
  gap: 0.5em;
  margin: 0;
}

.wpcf7-list-item a {
  color: var(--primary);
}

.wpcf7-list-item input[type="checkbox"] {
  margin: 0;
  transform: translateY(2px);
  /* migliora l'allineamento verticale */
}

.wpcf7-form input[type="submit"] {
  float: right;
  color: #fff;
  border: none;
  padding: 15px 25px;
  border-radius: 25px;
  cursor: pointer;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 18px;
  font-weight: 600;
  transition: background-color .2s ease-in-out;
}

.wpcf7-submit:disabled {
  background-color: #af7d1f9c;
}

.wpcf7-submit:enabled {
  background-color: var(--primary);
}

.wpcf7-not-valid-tip {
  margin-top: 7px;
}

.modulo-contatto {
  border-bottom: 1px solid var(--primary);
}

.info-container {
  justify-content: space-around;
}

.info {
  align-items: center;
  gap: 5px;
  text-align: center;
  text-decoration: none;
}

.info a {
  color: #000;
}

.sezione-contatti {
  position: relative;
  background-color: var(--primary);
  width: 100%;
  min-height: 300px;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #ffffff;
}

.sezione-contatti h2 {
  color: #ffffff;
  font-weight: 400;
  font-size: 40px;
  margin-bottom: 20px;
}

.sezione-contatti p {
  margin-bottom: 50px;
}

.sezione-contatti button {
  position: relative;
  background-color: #EE2F24;
  color: #fff;
  border: none;
  padding: 15px 25px;
  border-radius: 25px;
  cursor: pointer;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 18px;
  font-weight: 600;
  transition: background-color .2s ease-in-out;
}

.sezione-contatti button:hover {
  background-color: #800903;
}

.sezione-contatti .d-flex-c {
  align-items: center;
}

#maps {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 400px;
  overflow: hidden;
}

#maps iframe {
  position: relative;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.error404 {
  text-align: center;
}

.error404 p:first-child {
  margin-bottom: 50px;
}

.error404 .page-header,
.error404 .page-content {
  align-items: center;
}

.error404 .btn {
  margin-top: 25px;
  margin-bottom: 100px;
  border: 1px solid var(--primary);
  border-radius: 25px;
  padding: 10px 15px;
  text-align: center;
  color: #000;
  max-width: 200px;
  transition: color 0.3s ease-in-out;
}

.error404 .btn:hover {
  color: var(--primary);
}

footer .d-flex {
  align-items: flex-start;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .cf7-two-cols {
    gap: unset;
    flex-direction: column;
  }
  footer .d-flex {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
  footer .d-flex > div {
    width: 100%;
    text-align: center;
  }
  footer .d-flex .secondary ul {
    display: inline-block; /* keep list width tight when centered */
    text-align: left;
  }
  footer ul {
    list-style-type: none;
  }
  footer .footer-copyright,
  footer p {
    margin-top: 30px;
    text-align: center;
  }
}

footer a:hover {
  color: #000;
}

.onetap-container-toggle .onetap-toggle {
  z-index: 9998 !important;
}

.cmplz-show-banner {
  cursor: pointer;
}

.cmplz-blocked-content-container, .cmplz-wp-video {
  position: unset;
}