/*
	Theme Name: Hervin Child
	Theme URI: http://clapat.ro/themes/hervin-wordpress/
	Description: Responsive Wordpress Theme
	Template: hervin
	Version: 1.0
	Author: You
	Author URI: http://your site
	License: Themeforest
	License: GNU General Public License version 3.0
	License URI: http://www.gnu.org/licenses/gpl-3.0.html
	Tags: four-columns, custom-background, custom-colors, featured-images, full-width-template, theme-options
	Text Domain: hervin-child
*/


/*------------------------------------------------------------------

Add here your own styles
-------------------------------------------------------------------*/


.light-content.preloader-wrap {
	background: #bd9a68 !important
}

.light-content .hold-progress-bar {
    background: #ccc !important;
}

.overflow-hidden {
	overflow: hidden
}

body.hervin-pages-showcase .showcase-captions .counter {
	display: none !important;
}

.copyright {
	height: auto
}

.light-content input[type="text"], .light-content input[type="email"], .light-content input[type="search"], .light-content textarea {
	color: #000000 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}

.light-content input::placeholder,
.light-content textarea::placeholder {
	color: #000000
}

.light-content form .button-border.outline {
    border: solid 2px #000000;
    color: #000000 !important;
}
.light-content form .button-border.outline input[type="submit"] {
    color: #000000 !important;
}

.light-content .contact-col > * {
	color: #000000 !important
}

.light-content .input_label {
    background-color: #000000 !important;
}

:where(.is-layout-grid) {
    gap: 0;
}

#logo img {
	height: 80px;
}

.medium {
	max-width:1120px;
	box-sizing:border-box;
	width:100%;
	margin:0 auto;
}

.vc_row.large, .large {
    max-width: 1420px;
    margin: 0 auto;
}

.relative {
	position: relative
}

.inner-container.small {
	max-width: 800px;
    width: 100%;
    margin: 0 auto;
}

.inner-container {
	max-width: 1280px;
    margin: 0 auto;
    padding-left: 50px;
    padding-right: 50px;
}	

figure {
		margin:0;
		position:relative;
		display: block;
	}
	
	figure.has-parallax {		
		overflow:hidden;
	}
	
	.full figure.has-parallax {		
		overflow:hidden;
		height:100vh;
		margin-bottom:0!important;
	}
	
	figure img {
		max-width:100%;
	}
	
	.full img {
		width:100%;
		height: 100%;
		position:relative;
		display:block;
		object-position: center; 
		object-fit: cover;
	}
	
	.has-parallax-content img {
		width:100%;
		height: 100%;
		position:relative;
		display:block;
		object-position: center; 
		object-fit: cover;
	}

.half-white-section-wrapper, .half-dark-section-wrapper {
	margin-left: calc(50% - 50vw)!important;
	margin-right: calc(50% - 50vw)!important;
	max-width: 1000%!important;
	width: 100vw!important;
	position: absolute;
	height: 50%;
	top:0;
}
.half-white-section-wrapper.second, .half-dark-section-wrapper.second {
	top:50%;
}

.row-half-color {
	height:100%;
	width:100%;
	position:relative;
	top:0;
}

.light-content .button-border {
	border-color: #000000
}

main {
	background-color: #ffffff  !important;
}

#project-nav, .menu-primary-menu-container, .menu-primary-menu-en-container, #page-nav {
	background-color: #bd9a68 !important
}

.light-content h2.black-color,
.light-content h3.black-color,
.light-content h4.black-color{
	color: #000000 !important
}

/* #hero .hero-title{
	font-family: Poppins, sans-serif;
	text-align: center
} */

#hero .hero-title,
#hero .hero-bottom {
	color: #ffffff
}

footer:not(.showcase-footer) {
	background-color: #bd9a68 
}

footer a {
	color: #ffffff
}

/*------------------------------------------------------------------
CF7 – datetime-local & select: same style as text / email inputs
-------------------------------------------------------------------*/

.light-content .select {
    background: transparent;
}

/* Base style – matches input[type="text"] in shortcodes.css */
input[type="datetime-local"],
select {
    color: rgba(0, 0, 0, 1);
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 400;
    height: 50px;
    padding: 12px 20px 12px 0;
    width: 100%;
    border-radius: 0;
    margin-bottom: 0;
    border: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
    transition: all 0.2s linear;
    box-sizing: border-box;
    background-color: transparent;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
}

/* Select: custom arrow */
select {
    cursor: pointer;
    padding-right: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23000' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 4px center;
}

/* Floating underline animation – triggered on focus */
input[type="datetime-local"]:focus + .input_label,
select:focus + .input_label {
    width: 100%;
}

input[type="datetime-local"]:focus,
select:focus {
    color: #000;
}

/* light-content variants */
.light-content input[type="datetime-local"],
.light-content select {
    color: rgba(0, 0, 0, 1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.3) !important;
}

.light-content select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23fff' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}

.light-content input[type="datetime-local"]:focus,
.light-content select:focus {
    color: #000;
}

/* Select options always readable */
select option {
    background-color: #fff;
    color: #000;
}

.select::after {
	background: #bd9a68;
	color: #f3f3f3
}

.wpcf7-checkbox {
	display: flex;
    flex-direction: column;
}

.wpcf7-checkbox .wpcf7-list-item {
	margin: 0
}

.wpcf7-not-valid-tip, .input_label {
	top: 100% !important
}

/*------------------------------------------------------------------
Header – adapt logo / burger / text based on the section below
-------------------------------------------------------------------*/

/*
 * JS adds one of two classes to <header> on every scroll tick:
 *   .header-on-dark  → white logo, white burger  (over hero / images / dark bg)
 *   .header-on-light → black logo, black burger  (over plain white/light bg)
 * Both classes use !important to beat the inherited light-content / dark-content state.
 */

#logo img {
    transition: opacity 0.3s ease;
}

/* ── Forced WHITE header ──────────────────────────────────────── */
header.header-on-dark #logo img.black-logo,
.light-content header.header-on-dark #logo img.black-logo {
    opacity: 0 !important;
}
header.header-on-dark #logo img.white-logo,
.light-content header.header-on-dark #logo img.white-logo {
    opacity: 1 !important;
}
header.header-on-dark #menu-burger span,
.light-content header.header-on-dark #menu-burger span {
    background-color: #fff !important;
}
header.header-on-dark .button-wrap.right.menu .button-text,
.light-content header.header-on-dark .button-wrap.right.menu .button-text {
    color: #fff !important;
}

/* ── Forced BLACK header ──────────────────────────────────────── */
header.header-on-light #logo img.black-logo,
.light-content header.header-on-light #logo img.black-logo {
    opacity: 1 !important;
}
header.header-on-light #logo img.white-logo,
.light-content header.header-on-light #logo img.white-logo {
    opacity: 0 !important;
}
header.header-on-light #menu-burger span,
.light-content header.header-on-light #menu-burger span {
    background-color: #000 !important;
}
header.header-on-light .button-wrap.right.menu .button-text,
.light-content header.header-on-light .button-wrap.right.menu .button-text {
    color: #000 !important;
}

/*
 *   hc-cursor-dark  → bordo nero
 *   hc-cursor-light → bordo bianco
 */

.home #ball {
	border-color: #fff !important;
}

/* Pagine con #hero: cursore sempre bianco (bordo + chevron + icone) */
body:has(#hero) #ball,
body:has(#hero) #ball.over-movie,
body:has(#hero) .light-content #ball,
body:has(#hero) .light-content #ball.with-icon {
	border-color: #fff !important;
}

body:has(#hero) #ball:before,
body:has(#hero) #ball:after,
body:has(#hero) .light-content #ball:before,
body:has(#hero) .light-content #ball:after {
	color: #fff !important;
}

body:has(#hero) #ball i,
body:has(#hero) .light-content #ball i {
	color: #fff !important;
}

/* hc-cursor-dark – anche con #hero (doppio :has) */
body:has(.hc-cursor-dark:hover) #ball,
body:has(.hc-cursor-dark *:hover) #ball,
body:has(.hc-cursor-dark:focus-within) #ball,
body:has(#hero):has(.hc-cursor-dark:hover) #ball,
body:has(#hero):has(.hc-cursor-dark *:hover) #ball,
body:has(#hero):has(.hc-cursor-dark:focus-within) #ball {
	border-color: #000 !important;
	transition: border-color 0.3s ease;
}

body:has(.hc-cursor-dark:hover) #ball:before,
body:has(.hc-cursor-dark:hover) #ball:after,
body:has(.hc-cursor-dark *:hover) #ball:before,
body:has(.hc-cursor-dark *:hover) #ball:after,
body:has(.hc-cursor-dark:focus-within) #ball:before,
body:has(.hc-cursor-dark:focus-within) #ball:after,
body:has(#hero):has(.hc-cursor-dark:hover) #ball:before,
body:has(#hero):has(.hc-cursor-dark:hover) #ball:after,
body:has(#hero):has(.hc-cursor-dark *:hover) #ball:before,
body:has(#hero):has(.hc-cursor-dark *:hover) #ball:after,
body:has(#hero):has(.hc-cursor-dark:focus-within) #ball:before,
body:has(#hero):has(.hc-cursor-dark:focus-within) #ball:after {
	color: #000 !important;
}

body:has(.hc-cursor-dark:hover) #ball i,
body:has(.hc-cursor-dark *:hover) #ball i,
body:has(.hc-cursor-dark:focus-within) #ball i,
body:has(#hero):has(.hc-cursor-dark:hover) #ball i,
body:has(#hero):has(.hc-cursor-dark *:hover) #ball i,
body:has(#hero):has(.hc-cursor-dark:focus-within) #ball i {
	color: #000 !important;
}

/* hc-cursor-light – dopo dark: prevale su aree annidate dentro .hc-cursor-dark */
body:has(.hc-cursor-light:hover) #ball,
body:has(.hc-cursor-light *:hover) #ball,
body:has(.hc-cursor-light:focus-within) #ball,
body:has(#hero):has(.hc-cursor-light:hover) #ball,
body:has(#hero):has(.hc-cursor-light *:hover) #ball,
body:has(#hero):has(.hc-cursor-light:focus-within) #ball {
	border-color: #fff !important;
	transition: border-color 0.3s ease;
}

body:has(.hc-cursor-light:hover) #ball:before,
body:has(.hc-cursor-light:hover) #ball:after,
body:has(.hc-cursor-light *:hover) #ball:before,
body:has(.hc-cursor-light *:hover) #ball:after,
body:has(.hc-cursor-light:focus-within) #ball:before,
body:has(.hc-cursor-light:focus-within) #ball:after,
body:has(#hero):has(.hc-cursor-light:hover) #ball:before,
body:has(#hero):has(.hc-cursor-light:hover) #ball:after,
body:has(#hero):has(.hc-cursor-light *:hover) #ball:before,
body:has(#hero):has(.hc-cursor-light *:hover) #ball:after,
body:has(#hero):has(.hc-cursor-light:focus-within) #ball:before,
body:has(#hero):has(.hc-cursor-light:focus-within) #ball:after {
	color: #fff !important;
}

body:has(.hc-cursor-light:hover) #ball i,
body:has(.hc-cursor-light *:hover) #ball i,
body:has(.hc-cursor-light:focus-within) #ball i,
body:has(#hero):has(.hc-cursor-light:hover) #ball i,
body:has(#hero):has(.hc-cursor-light *:hover) #ball i,
body:has(#hero):has(.hc-cursor-light:focus-within) #ball i {
	color: #fff !important;
}

#quickmenu {
	background-color: #bd9a68
}

/* ── CF7 – "Altro" conditional text field ────────────────────────────────── */

/* Hidden by default via CSS; JS adds .hc-altro--visible to reveal */
[data-name$="-altro"] {
    display: none;
    overflow: hidden;
}
[data-name$="-altro"].hc-altro--visible {
    display: block;
}

/* ── CF7 – Checkbox custom style ─────────────────────────────────────────── */

/* Layout: list items in column with consistent spacing */
.wpcf7-checkbox,
.wpcf7-radio {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 6px 0;
}

.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item {
    margin: 0 !important;
    display: block;
}

.wpcf7-checkbox .wpcf7-list-item label,
.wpcf7-radio .wpcf7-list-item label {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: rgba(0, 0, 0, 0.8);
    line-height: 1;
    user-select: none;
}

/* Hide native checkbox / radio */
.wpcf7-checkbox input[type="checkbox"],
.wpcf7-radio input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    flex-shrink: 0;
    width: 17px;
    height: 17px;
    border: 1px solid rgba(0, 0, 0, 0.25);
    background-color: transparent;
    cursor: pointer;
    position: relative;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    margin: 0;
}

.wpcf7-radio input[type="radio"] {
    border-radius: 50%;
}

/* Checked state – fill with brand color */
.wpcf7-checkbox input[type="checkbox"]:checked,
.wpcf7-radio input[type="radio"]:checked {
    background-color: #bd9a68;
    border-color: #bd9a68;
}

/* Checkmark via ::after */
.wpcf7-checkbox input[type="checkbox"]::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 5px;
    width: 5px;
    height: 9px;
    border: 1.5px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
    opacity: 0;
    transition: opacity 0.15s ease;
}
.wpcf7-checkbox input[type="checkbox"]:checked::after {
    opacity: 1;
}

/* Radio dot via ::after */
.wpcf7-radio input[type="radio"]::after {
    content: '';
    position: absolute;
    inset: 4px;
    background: #fff;
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.15s ease;
}
.wpcf7-radio input[type="radio"]:checked::after {
    opacity: 1;
}

/* Hover state */
.wpcf7-checkbox input[type="checkbox"]:not(:checked):hover,
.wpcf7-radio input[type="radio"]:not(:checked):hover {
    border-color: #bd9a68;
}

/* ── CF7 – Messaggio invio (banner oro, centro viewport) ────────────────────
   fixed + 50%: con Smooth Scrollbar il box può essere spostato su body via
   hervin-cf7.js così resta davvero al centro della finestra visibile.
----------------------------------------------------------------------------- */

.wpcf7-response-output {
    box-sizing: border-box;
}

.wpcf7-response-output:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    min-height: 0 !important;
}

.wpcf7-response-output:not(:empty) {
    position: fixed;
    left: 50%;
    top: 50%; /* fallback */
    top: 50dvh; /* centro area visibile su mobile (dynamic viewport) */
    transform: translate(-50%, -50%);
    z-index: 100000;
    max-width: min(92vw, 560px);
    width: auto;
    min-width: 280px;
    margin: 0 !important;
    padding: 22px 32px !important;
    text-align: center;
    background-color: #bd9a68 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 2px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
    font-family: 'Poppins', sans-serif;
    font-size: 15px; /* mobile: invariato */
    font-weight: 500;
    line-height: 1.55;
    animation: hc-cf7-response-in 0.35s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
}

@media (min-width: 992px) {
    .wpcf7-response-output:not(:empty) {
        font-size: 30px;
        line-height: 1.45;
        padding: 28px 40px !important;
        max-width: min(92vw, 720px);
        gap: 22px;
    }
}

.wpcf7-response-output:not(:empty) a {
    color: #fff !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

button.hc-cf7-response-dismiss {
    flex-shrink: 0;
    margin: 0;
    padding: 10px 36px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #bd9a68 !important;
    background: #fff !important;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

button.hc-cf7-response-dismiss:hover {
    opacity: 0.92;
    transform: translateY(-1px);
}

@media (min-width: 992px) {
    button.hc-cf7-response-dismiss {
        font-size: 15px;
        padding: 12px 44px;
    }
}

@keyframes hc-cf7-response-in {
    from {
        opacity: 0;
        transform: translate(-50%, -48%);
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%);
    }
}

/* ── CF7 – Spinner ───────────────────────────────────────────────────────── */

/* Override the default dark pill with a thin ring spinner */
.wpcf7-spinner {
	position: absolute !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px !important;
    height: 22px;
    background: none !important;
    border: 2px solid rgba(189, 154, 104, 0.25);
    border-top-color: #bd9a68;
    border-radius: 50%;
    margin: 0 16px;
    vertical-align: middle;
    animation: hc-spin 0.75s linear infinite;
	padding: 0 !important;
	transform-origin: center !important
}

.wpcf7-spinner::before {
    display: none; /* remove the default inner dot */
}

form.submitting .wpcf7-spinner {
    visibility: visible;
}

@keyframes hc-spin {
    to { transform: rotate(360deg); }
}


textarea {
	height: 150px
}

.logged-in textarea {
    margin-bottom: 0 !important;
}

.contact-grid figure {
		height: 100%
	}

@media screen and (max-width: 1024px) {
	.inner-container {
		padding-left: 40px;
    	padding-right: 40px;
	}
	
}

@media screen and (max-width: 767px) {
	.inner-container {
		padding-left: 30px;
    	padding-right: 30px;
	}
	
	.contact-grid .is-layout-grid{
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
	
}

@media screen and (max-width: 479px) {
	h2 {
		font-size: 20px;
	    line-height: 20px
	}
	h3 {
		font-size: 20px;
	}
	
	#logo img {
		height: 50px;
	}
	
/* 	#project-nav{
		bottom: -60vh !important;
		height: 50vh
	} */
	
	.footer-middle {
		left: 0
	}
	
	.inner-container {
		padding-left: 20px;
    	padding-right: 20px;
	}
	
	.contact-grid {
		padding: 10px !important
	}
	
	.contact-grid .wp-block-spacer {
		height: 50px !important
	}
	
	.contact-grid iframe {
		height: 400px !important
	}
	
	.vc_row.large, .large {
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		max-width: 1000% !important;
		width: 100vw !important;
		overflow: hidden
	}
}

/* ── FAB: link al modulo evento (stile pulsante tema + solo posizionamento) ─
   Markup come 404.php / shortcode Button. z-index sotto CF7 (100000).
   Colori: hervin-header-scroll.js aggiunge hc-fab-on-dark | hc-fab-on-light
   in sync con header-on-dark / header-on-light (stesso criterio di contrasto).
----------------------------------------------------------------------------- */

.hc-event-form-fab {
	position: fixed;
	right: max(16px, env(safe-area-inset-right, 0px));
	bottom: max(20px, env(safe-area-inset-bottom, 0px));
	z-index: 99950;
	margin: 0 !important;
	max-width: min(320px, calc(100vw - 32px));
	line-height: normal;
}

/* Come .button-border.outline default (sopra sfondo chiaro) */
.hc-event-form-fab.hc-fab-on-light .button-border.outline {
	border-color: #000 !important;
	color: #000 !important;
	background-color: transparent !important;
}

/* Come .light-content .button-border.outline (sopra sfondo scuro / hero) */
.hc-event-form-fab.hc-fab-on-dark .button-border.outline {
	border-color: #fff !important;
	color: #fff !important;
	background-color: transparent !important;
}

.hc-event-form-fab:focus-visible .button-border {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

@media (min-width: 992px) {
	.hc-event-form-fab {
		right: max(24px, env(safe-area-inset-right, 0px));
		bottom: max(28px, env(safe-area-inset-bottom, 0px));
	}
}

@media print {
	.hc-event-form-fab {
		display: none !important;
	}
}
