/*
Theme Name: Primius Child
Theme URI: Alcoweb
Template: twentytwentyfive
Author: Alcoweb
Author URI: alcoweb.it
Description: Primius Child
Tags: Primius Child
Version: 66.6.1758886863
Updated: 2025-09-26 13:41:03

*/

.wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open {height: 100vh}

.has-modal-open.is-menu-open .div#modal-1-content,  .has-modal-open.is-menu-open .scroll-aware-sticky.bg-active .wp-block-navigation a, .has-modal-open.is-menu-open .scroll-aware-sticky.bg-active label {
    color: #111;
}

.has-modal-open.is-menu-open .wglanguage-name:after {
filter: invert(0) !important;
}

/* Wrapper sticky del menu */
.scroll-aware-sticky{
  position: relative;
  z-index: 1000;
  background: transparent;
  transition: transform .25s ease, background .25s ease;
  will-change: transform; /* evita micro-shift quando cambia stato */
}

/* Sfondo pieno quando riappare (stato “bg-active”) */
.scroll-aware-sticky.bg-active::before{
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  margin-left: -50vw;
  background: rgba(13, 90, 97, 0.9);
  pointer-events: none;
  z-index: -1;
}

/* Nascondi header in scroll-down */
.scroll-aware-sticky.hide-down{
  transform: translateY(-100%);
}

/* Colori voci menu in base allo stato header 
.scroll-aware-sticky .wp-block-navigation a,
.scroll-aware-sticky label{
  color: #fff; 
}
.scroll-aware-sticky.bg-active .wp-block-navigation a,
.scroll-aware-sticky.bg-active label{
  color: #fff; /* stato "dark" (ma qui è comunque bianco)
} */

/* Burger/open responsive del menu */
button.wp-block-navigation__responsive-container-open{
  color: #ffffff !important;
}

/* Contenitore sticky (di qualche block WP) azzerato per non riservare spazio */
.sticky-block-wrapper.sticky-block-wrapper-0{
  height: 0px;
}

/* Full-bleed “vero” per il contenitore, con respiro solo a sinistra */
.is-peek-edge {
  /* porta il blocco a filo dei bordi viewport */
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* OFFSET a sinistra parametrico */
.is-peek-edge { --peek-offset-left: 32px; }

/* Se usi Carousel Block 2.x (Swiper) */
.is-peek-edge .swiper {
  padding-left: var(--peek-offset-left);
  padding-right: 0;              /* a destra niente, deve “tagliare” */
  scroll-padding-left: var(--peek-offset-left); /* snap dalla partenza del padding */
}

/* Se usi il mio blocco standalone (scroll-snap) */
.is-peek-edge .alco-carousel__track {
  padding-left: var(--peek-offset-left);
  padding-right: 0;
  scroll-padding-left: var(--peek-offset-left);
}

/* Responsive fine-tuning: un filo meno su mobile */
@media (max-width: 768px){
  .is-peek-edge { --peek-offset-left: 16px; }
}


/* Eredita colori/typo dal wrapper Gutenberg */
.aws-steps { color: #f5f5f5; background: inherit; }
.aws-steps * { color: #f5f5f5; }

footer.wp-block-template-part {
    margin-block-start: 0px;
}









.wpcf7 form .cf7-grid{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.wpcf7 form .cf7-grid > p,
.wpcf7 form .cf7-grid > div{
  margin:0;
  width:100%;
}

.wpcf7 form .cf7-grid input[type="text"],
.wpcf7 form .cf7-grid input[type="email"],
.wpcf7 form .cf7-grid input[type="tel"],
.wpcf7 form .cf7-grid input[type="file"],
.wpcf7 form .cf7-grid select,
.wpcf7 form .cf7-grid textarea{
  width:100%;
  box-sizing:border-box;
  padding:12px 14px;
  border:1px solid var(--wp--preset--color--contrast-3, #d0d0d0);
  border-radius:12px;
  background:#fff;
  color:inherit;
  font-size:16px;
  line-height:1.2;
  outline:0;
}

.wpcf7 form .cf7-grid textarea{
  min-height:160px;
  resize:vertical;
  font-family:inherit;
}

.wpcf7 form .cf7-grid input::placeholder,
.wpcf7 form .cf7-grid textarea::placeholder{
  opacity:.75;
}

.wpcf7 form .cf7-grid input:focus,
.wpcf7 form .cf7-grid select:focus,
.wpcf7 form .cf7-grid textarea:focus{
  border-color:var(--wp--preset--color--contrast, #111);
  box-shadow:0 0 0 3px rgba(17,17,17,.08);
}

.wpcf7 form .cf7-grid .cf7-privacy{
  font-size:14px;
  line-height:1.35;
}

.wpcf7 form .cf7-grid .cf7-privacy .wpcf7-form-control{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.wpcf7 form .cf7-grid .cf7-privacy input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:2px 0 0 0;
  flex:0 0 auto;
}

.wpcf7 form .cf7-grid input[type="submit"]{
  width:100%;
  padding:12px 16px;
  border-radius:12px;
  border:1px solid transparent;
  background:var(--wp--preset--color--contrast, #111);
  color:var(--wp--preset--color--base, #fff);
  font-weight:600;
  cursor:pointer;
  transition:transform .05s ease, opacity .2s ease;
}

.wpcf7 form .cf7-grid input[type="submit"]:hover{
  opacity:.92;
}

.wpcf7 form .cf7-grid input[type="submit"]:active{
  transform:translateY(1px);
}


.primus-lp :where(.wp-element-button){
			transition: transform .12s ease, filter .2s ease, box-shadow .2s ease;
		}
		.primus-lp :where(.wp-element-button:hover){
			transform: translateY(-2px);
			filter: brightness(1.03);
			box-shadow: 0 12px 24px color-mix(in srgb, #000 16%, transparent);
		}
		.primus-lp :where(.wp-element-button:focus-visible){
			outline: 3px solid color-mix(in srgb, var(--wp--preset--color--accent-1) 35%, transparent);
			outline-offset: 3px;
		}

		.primus-lp :where(ul.is-style-checkmark){
			list-style:none;
			padding-left:0;
			margin-left:0;
		}
		.primus-lp :where(ul.is-style-checkmark li){
			position:relative;
			padding-left:30px;
			margin-bottom:12px;
		}
		.primus-lp :where(ul.is-style-checkmark li::before){
			content:"✓";
			position:absolute;
			left:0;
			top:0;
			color:var(--wp--preset--color--accent-1);
			font-weight:800;
		}

		.primus-lp :where(.primus-card){
			background: color-mix(in srgb, var(--wp--preset--color--base) 96%, #000);
		}

		.primus-lp :where(.primus-leadbox .wpcf7 form){
			margin:0;
		}
		.primus-lp :where(.primus-leadbox .wpcf7 .cf7-grid){
			display:grid;
			grid-template-columns:repeat(2,minmax(0,1fr));
			gap:12px;
		}
		.primus-lp :where(.primus-leadbox .wpcf7 .cf7-span-all){
			grid-column:1 / -1;
		}
		.primus-lp :where(.primus-leadbox .wpcf7 label){
			display:block;
			font-size:.86rem;
			font-weight:650;
			margin-bottom:6px;
			color:var(--wp--preset--color--contrast);
		}
		.primus-lp :where(.primus-leadbox .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .primus-lp .primus-leadbox .wpcf7 textarea, .primus-lp .primus-leadbox .wpcf7 select){
			width:100%;
			padding:12px 14px;
			border:1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 16%, transparent);
			border-radius:10px;
			background:color-mix(in srgb, var(--wp--preset--color--base) 92%, var(--wp--preset--color--contrast));
			color:var(--wp--preset--color--contrast);
			font-size:.95rem;
			box-sizing:border-box;
			transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
		}
		.primus-lp :where(.primus-leadbox .wpcf7 textarea){
			min-height:120px;
			resize:vertical;
		}
		.primus-lp :where(.primus-leadbox .wpcf7 input:focus, .primus-lp .primus-leadbox .wpcf7 textarea:focus, .primus-lp .primus-leadbox .wpcf7 select:focus){
			outline:none;
			border-color:var(--wp--preset--color--accent-1);
			box-shadow:0 0 0 3px color-mix(in srgb, var(--wp--preset--color--accent-1) 18%, transparent);
			background:var(--wp--preset--color--base);
		}
		.primus-lp :where(.primus-leadbox .wpcf7 input[type="submit"]){
			width:100%;
			padding:15px 16px;
			border:0;
			border-radius:10px;
			background:var(--wp--preset--color--accent-1);
			color:var(--wp--preset--color--base);
			font-weight:800;
			font-size:1rem;
			letter-spacing:.6px;
			text-transform:uppercase;
			cursor:pointer;
			transition:transform .12s ease, filter .2s ease, box-shadow .2s ease;
		}
		.primus-lp :where(.primus-leadbox .wpcf7 input[type="submit"]:hover){
			transform:translateY(-1px);
			filter:brightness(1.06);
			box-shadow:0 12px 24px color-mix(in srgb, #000 14%, transparent);
		}
		.primus-lp :where(.primus-leadbox .wpcf7 .wpcf7-response-output){
			margin:8px 0 0 0;
			border-radius:10px;
		}
		.primus-lp :where(.primus-leadbox .wpcf7 .wpcf7-not-valid-tip){
			font-size:.86rem;
		}
		@media (max-width: 720px){
			.primus-lp :where(.primus-leadbox .wpcf7 .cf7-grid){
				grid-template-columns:1fr;
			}
		}
		@media (prefers-reduced-motion: reduce){
			.primus-lp :where(.wp-element-button, .primus-lp .primus-leadbox .wpcf7 input, .primus-lp .primus-leadbox .wpcf7 textarea, .primus-lp .primus-leadbox .wpcf7 select){
				transition:none;
			}
		}








.wpcf7 {
	max-width: 100%;
}

.wpcf7 form {
	display: grid;
	gap: 18px;
}

.wpcf7 p {
	margin: 0;
}

.wpcf7 label {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: #1a1a1a;
}

.wpcf7 .wpcf7-form-control-wrap {
	display: block;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 textarea,
.wpcf7 select {
	width: 100%;
	padding: 0 0 12px;
	border: none;
	border-bottom: 1px solid #1a1a1a;
	border-radius: 0;
	background: transparent;
	font-size: 15px;
	line-height: 1.5;
	color: #1a1a1a;
	box-sizing: border-box;
	box-shadow: none;
	appearance: none;
	-webkit-appearance: none;
}

.wpcf7 textarea {
	min-height: 120px;
	padding-top: 8px;
	resize: vertical;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 input[type="number"]:focus,
.wpcf7 input[type="date"]:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
	outline: none;
	border: none;
	border-bottom: 1px solid #1a1a1a;
	background: transparent;
	box-shadow: none;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
	color: #8a8a8a;
	opacity: 1;
}

.wpcf7 .acceptance-line {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13px;
	line-height: 1.5;
	color: #555;
}

.wpcf7 .acceptance-line .wpcf7-form-control {
	margin: 2px 0 0;
	flex: 0 0 auto;
}

.wpcf7 .acceptance-line .wpcf7-list-item {
	margin: 0;
}

.wpcf7 .acceptance-line input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: #000;
}

.wpcf7 .acceptance-line a {
	color: #000;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.wpcf7 input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-height: 48px;
	padding: 0 22px;
	border: 1px solid #000;
	border-radius: 999px;
	background: transparent;
	color: #000;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.01em;
	cursor: pointer;
	box-shadow: none;
	transition: all 0.2s ease;
}

.wpcf7 input[type="submit"]:hover {
	background: #000;
	color: #fff;
}

.wpcf7 input[type="submit"]:focus {
	outline: none;
	box-shadow: none;
}

.wpcf7 .wpcf7-not-valid {
	border-bottom: 1px solid #c62828 !important;
}

.wpcf7 .wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: 12px;
	color: #c62828;
}

.wpcf7 .wpcf7-response-output {
	margin: 8px 0 0;
	padding: 10px 0 0;
	border: 0;
	font-size: 13px;
	line-height: 1.5;
}

.wpcf7 form.sent .wpcf7-response-output {
	color: #1f7a1f;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
	color: #c62828;
}

.wpcf7 .wpcf7-spinner {
	margin-left: 10px;
}




label.privacy {
    display: inline-block;
}





