:root{
    --bg-color: ##FFF9F1;
    --main-color: ##141B35;
    --white-color: #fff;
    --black-color: #000;

    --font-family-primary: "Narkis Block", sans-serif;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-mediun: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 600;
    --font-weight-extrabold: 900;
}
*{
    box-sizing: border-box;
}






html{
    direction: rtl;
}
body{
    font-family: var(--font-family-primary);
}
h1,h2,h3,h4,h4,h5{
    font-family: var(--font-family-primary);
    font-weight: bold;
}
a{
    text-decoration: none;
}
p{
    font-family: var(--font-family-primary);
}
#pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a svg{
    padding-left: 6px;
    padding-right: 0px;
}

/* Remove the problematic body filter only during grayscale mode */
body.pojo-a11y-grayscale {
    -webkit-filter: none !important;
    filter: none !important;
    overflow-x: hidden !important;
}

/* Reapply grayscale to the document root */
html:has(body.pojo-a11y-grayscale) {
    -webkit-filter: grayscale(100%) !important;
    filter: grayscale(100%) !important;
}

/* Change toolbar positioning only during grayscale mode */
body.pojo-a11y-grayscale #pojo-a11y-toolbar {
    position: fixed !important;
    z-index: 99999 !important;
}
body.pojo-a11y-grayscale .footer-form .wpcf7-not-valid-tip {
    color: #000 !important;
}
body.pojo-a11y-grayscale .wpcf7-not-valid-tip {
    color: #fff;
}
body.pojo-a11y-light-background :not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .cc-slider {
    background: gray !important;
}
body.pojo-a11y-high-contrast .cc-slider {
    background: gray !important;
}
body.pojo-a11y-negative-contrast :not(#pojo-a11y-toolbar) .cc-slider {
    background: gray !important;
}

body .cc-pos-right{
    border-radius: 14px !important;
}
body #cc-floater {
    bottom: unset !important;
    top: 10vw !important;
    left: 0.2vw !important;
    right: unset !important;
    width: 2.5vw !important;
    height: 2.5vw !important;
    line-height: 2.5vw;
    text-align: center !important;
    z-index: 999 !important;
}
body #cc-floater svg{
    width: 1.5vw !important;
    height: 1.5vw !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
body #pojo-a11y-toolbar{
    z-index: 9999 !important;
    top: 7vw !important;
}
body #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle a {
    font-size: 1.5vw !important;
    padding: 0.6vw !important;
}
body #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle svg{
    width: 1.5vw !important;
}

@media(max-width: 767px){
    body #cc-floater{
        bottom: unset !important;
        top: 30vw !important;
        left: 2px !important;
        width: 7.5vw !important;
        height: 7.5vw !important;
        line-height: 7.5vw;
        padding: 4.5vw !important;
    }
    body #cc-floater svg {
        width: 5vw !important;
        height: 5vw !important;
    }
    body #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle a {
        font-size: 5.5vw !important;
        padding: 2vw !important;
    }
    body #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle svg {
        width: 5.8vw !important;
    }
    body #pojo-a11y-toolbar {
        top: 18vw !important;
    }
    .cc-banner {
        padding: 16px !important;
    }
    .cc-pos-right {
        left: 50% !important;
        right: unset !important;
        bottom: 20px !important;
        width: 95%;
        transform: translateX(-50%);
    }
    .cc-btn{
        padding: 7px 9px !important;
    }
}

	/**** Contact form css start ****/
	.cf7-success-message {
        text-align: center;
        margin: 1.5vw auto;
    }
    .success-checkmark {
        width: 5vw;
        margin: 1vw auto;
    }
    .success-title {
        font-size: 1.5vw;
        text-align: center;
        color: #fff;
        margin-bottom: 1vw;
    }
    @media(max-width: 767px){
        .success-checkmark {
            width: 70px;
            margin: 20px auto;
        }
        .success-title {
            font-size: 20px;
            margin-bottom: 20px;
        }
    }
	.main-contact-form {
		direction: rtl;
	}
	.private-contact-form ::placeholder {
		color: #FBFBF9;
	}
	.private-contact-form input,
	.private-contact-form textarea {
		font-size: 1.171vw;
		line-height: 1;
		font-weight: 400;
		background-color: transparent;
		border-bottom: 1px solid #FFFDF5 !important;
		color: #FBFBF9;
		width: 100%;
		padding: 0.5vw 0 1vw;
		font-family: var(--font-family-primary);
		border: none;
		direction: rtl !important;
		font-size: 1.3vw;
	}
	.private-contact-form input:focus-visible,
	.private-contact-form textarea:focus-visible {
		outline: none;
	}
	.private-contact-form .privacy-checkbox .wpcf7-list-item label{
		padding-right: 0px !important;
	}
	.private-contact-form .submit-col .global-btn {
		background: rgba(255, 255, 255, 0.17);
		border: 1px solid #fff;
		padding: 0.5vw 4vw 0.3vw 4vw;
		color: #fff;
		font-size: 1.4vw;
		line-height: 1.2;
		font-family: var(--font-family-primary);
		font-weight: 500;
		margin: 0 auto;
		display: block;
		max-width: fit-content;
		width: 100%;
		border-radius: 0;
	}
	.private-contact-form .submit-col .global-btn:hover,
	.private-contact-form .submit-col .global-btn:focus {
		color: #fff;
		background: rgba(255, 255, 255, 0.3);
	}
	.private-contact-form .form-field>p {
		margin-bottom: 0;
	}
	.private-contact-form .form-field {
		margin-bottom: 1vw;
	}
	.private-contact-form .privacy-checkbox{
		margin-bottom: 3vw !important;
		margin-top: 0.5vw;
	}
	.private-contact-form .privacy-checkbox.first>p {
		display: flex;
		align-items: start;
	}
	.private-contact-form .privacy-checkbox .wpcf7-list-item {
		display: flex;
		margin-left: 0;
	}
	.private-contact-form .privacy-checkbox input {
		position: relative;
		width: 1.2vw;
		margin-left: 0.6vw;
		height: 1.2vw !important;
		background: rgba(255, 255, 255, 0.17) !important;
		padding: 0;
		border-radius: 0;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		cursor: pointer;
		border: 1px solid #fff !important;
	}
	.private-contact-form .privacy-checkbox input[type="checkbox"]:checked::before {
		content: "✓";
		color: #fff;
		background: transparent !important;
		text-align: center;
		font-size: 0.8vw;
		font-weight: bold;
		position: absolute;
		top: 60%;
		left: 50%;
		transform: translate(-50%, -50%);
		line-height: 1;
		pointer-events: none;
	}
	.private-contact-form .privacy-checkbox.first .wpcf7-form-control-wrap .wpcf7-list-item-label {
		display: none;
	}
	.private-contact-form .privacy-checkbox .wpcf7-list-item-label {
		color: #FBFBF9;
		font-size: 0.68vw;
		line-height: 1.3;
		font-family: var(--font-family-primary);
		font-weight: 400;
	}
	.private-contact-form .simple-text {
		margin-top: 0.5vw;
	}
	.private-contact-form .privacy-checkbox .wpcf7-list-item-label a {
		color: #FBFBF9;
		text-decoration: underline;
	}
	.private-contact-form .privacy-checkbox .wpcf7-list-item-label a:hover {
		color: #FBFBF9;
	}
	/* 	.private-contact-form .privacy-checkbox.first .wpcf7-not-valid-tip {
	position: absolute;
	top: 3vw;
	width: 100%;
	min-width: fit-content;
	text-wrap: nowrap;
	} */
	.private-contact-form .privacy-checkbox.first { position: relative; }
	.private-contact-form .privacy-checkbox.first .wpcf7-form-control-wrap { position: static !important; }

	.private-contact-form .privacy-checkbox.first .wpcf7-not-valid-tip {
		position: absolute;
		top: 100%;
		bottom: auto;
		right: unset;
		left: auto;
		width: auto;
		min-width: 0;
		margin-top: 0.25em;
		white-space: nowrap;
		line-height: 1.4;
	}

	/* reserve the room only while the field is invalid, so nothing shifts otherwise */
	@supports selector(:has(*)) {
		.private-contact-form .privacy-checkbox.first:has(.wpcf7-not-valid) { padding-bottom: 1.8em; }
		.private-contact-form .privacy-checkbox.first .wpcf7-not-valid-tip {
			top: auto; bottom: 0; margin-top: 0;
		}
	}
	.private-contact-form .wpcf7-not-valid-tip {
		font-size: 0.8vw;
	}
	.private-contact-form .wpcf7 form .wpcf7-response-output {
		border-width: 1px !important;
		direction: rtl;
		margin: 1vh 0;
		text-align: center;
		color: #FBFBF9;
		font-size: 0.8vw;
		line-height: 1.5;
	}
	.private-contact-form .success-checkmark {
		width: 5vw;
	}
	.private-contact-form .success-title {
		font-size: 2vw;
		color: #FBFBF9;
		margin-top: 1vw;
	}
	.private-contact-form .success-subtitle {
		font-size: 2vw;
		color: #FBFBF9;
	}
	.private-contact-form .cf7-success-message {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.wpcf7 form .wpcf7-response-output{
		margin: 1vw 0;
		text-align: center;
	}
	.wpcf7 form .wpcf7-response-output{
		color: #fff;
	}
	.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
		color: #ffb900;
	}
	.wpcf7 form.sent .wpcf7-response-output{
		color: #46b450;
	}
	.private-contact-form .privacy-checkbox .wpcf7-list-item label {
		display: flex;
		justify-content: flex-start;
		margin-top: 0.14vw;
	}

	@media (min-width: 768px) and (max-width: 1079px) {

		.private-contact-form .privacy-checkbox .wpcf7-list-item-label {
			font-size: 0.8vw;
		}
		.private-contact-form input,
		.private-contact-form textarea {
			font-size: 1.5vw;
			padding: 0.8vw 0;
		}
		.private-contact-form .submit-col .global-btn {
			padding: 0.6vw 6vw;
			font-size: 1.6vw;
		}
		.private-contact-form .privacy-checkbox input {
			height: 15px;
			width: 15px;
			margin-left: 12px;
		}
	}

	@media (min-width: 500px) and (max-width: 767px) {

		.private-contact-form .privacy-checkbox .wpcf7-list-item-label {
			font-size: 12px;
		}
		.private-contact-form input,
		.private-contact-form textarea {
			font-size: 16px;
		}
		.private-contact-form .submit-col .global-btn {
			font-size: 18px;
			padding: 6px;
		}

	}


	/* Mobile View */
	@media (max-width: 768px) {
		.wpcf7-not-valid-tip {
			margin: 0 0 2px 0 !important;
		}
		.wpcf7 form .wpcf7-response-output{
			font-size: 3.5vw;
		}
		.private-contact-form .wpcf7-not-valid-tip {
			font-size: 12px;
		}
		.private-contact-form .privacy-checkbox.first .wpcf7-not-valid-tip {
			top: 60px;
		}
		.private-contact-form .wpcf7 form .wpcf7-response-output {
			font-size: 12px;
		}
		.private-contact-form .privacy-checkbox{
			margin-bottom: 6vw !important;
			margin-top: 6vw;
		}
		.private-contact-form .privacy-checkbox .wpcf7-list-item-label {
			font-size: 4vw;
		}
		.private-contact-form .privacy-checkbox input{
			height: 22px !important;
			width: 22px !important;
			margin-left: 12px;
			border-radius: 4px;
		}
		.private-contact-form .submit-col .global-btn {
			font-size: 22px;
			padding: 8px 25px 4px 25px;
			max-width: 100%;
		}
		.private-contact-form .privacy-checkbox input[type="checkbox"]:checked::before{
			font-size: 3.2vw;
		}
		.private-contact-form .success-checkmark {
			width: 70px;
		}
		.private-contact-form .success-title {
			font-size: 24px;
		}
	}
	@media (max-width: 600px) {
		.private-contact-form input,
		.private-contact-form textarea {
			font-size: 5.5vw;
			padding: 5vw 0;
		}
		.form-col-mob-bg-color{
			background-color: #31537B;
		}
		.remove-br{
			display: none !important;
		}
		.shape-img-position-relative-mob{
			position: relative !important;
		}
	}


body.pojo-a11y-grayscale .wpcf7-not-valid-tip {
  color: #fff;
}
body.pojo-a11y-negative-contrast :not(#pojo-a11y-toolbar) .wpcf7-not-valid-tip,
body.pojo-a11y-high-contrast :not(#pojo-a11y-toolbar) .wpcf7-not-valid-tip,
body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .wpcf7-not-valid-tip{
    background: transparent !important;
}
body.pojo-a11y-light-background *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .cc-btn{
    border: 1px solid #000 !important;
}
body.pojo-a11y-high-contrast *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .cc-btn,
body.pojo-a11y-negative-contrast *:not(#pojo-a11y-toolbar):not(.pojo-a11y-toolbar-link) .cc-btn{
    border: 1px solid #fff !important;
}


/****************
Privacy Modal CSS
*****************/
body.privacy-modal-open .privacy-modal-wrapper,
body.accessibility-modal-open .privacy-modal-wrapper{
    height: 100vh;
    background: transparent;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
}
.privacy-wrapper {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 85vw;
    background-color: rgb(32, 31, 31);
    height: 100%;
    max-height: 85vh;
    padding: 8vh 5vw 8vh 4vw;
    z-index: 9999999;
    overflow: hidden;
    font-family: var(--font-family-primary);
}
.privacy-wrapper .privacy-content{
    overflow-y: auto;
    height: 85vh;
    padding-bottom: 15vh;
    scrollbar-width: none;
    color: #fff;
}
.privacy-wrapper .privacy-content a{
    color: #90C8FF;
    text-decoration: underline;
}
.privacy-wrapper .privacy-content h2 {
    margin-bottom: 2vh;
    font-size: 1.4vw;
    line-height: 2.6vh;
    margin-top: 3vh;
}
.privacy-wrapper .privacy-content h3{
    margin-top: 2vh;
    margin-bottom: 1vh;
    font-size: 1.1vw;
    line-height: 2.4vh;
}
.privacy-wrapper .privacy-content :where(p, li, a, div){
    margin-bottom: 1.3vh;
    font-size: 0.8vw;
    line-height: 2.4vh;
    color: var(--white-color);
}
.privacy-close-btn{
    position: absolute;
    top: 2vh;
    right: 1.8vw;
}
.privacy-close-btn > img{
    object-fit: contain;
    object-position: center center;
    width: 2vw;
    height: auto;
}
.pv-links {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 10px;
}
.pv-links > span{
    font-size: 0.8vw;
    line-height: 1;
}
.pv-link{
    color: #fff;
    font-size: 0.8vw;
    line-height: 1;
    text-decoration: underline;
}
.pv-link:hover{
    color: #d3e18c;
}

@media (max-width: 768px) {
    /* Privacy Modal CSS */
    .privacy-wrapper{
        width: 100%;
        height: 100vh;
        min-height: 100vh;
        padding: 50px 20px;
        top: 0;
        left: 0;
        transform: unset;
        position: fixed;
    }
    .privacy-wrapper .privacy-content h2 {
        margin-bottom: 16px;
        font-size: 18px;
        line-height: 22px;
    }
    .privacy-wrapper .privacy-content h3 {
        margin-top: 16px;
        margin-bottom: 10px;
        font-size: 16px;
        line-height: 22px;
    }
    .privacy-wrapper .privacy-content :where(p, li, a) {
        margin-bottom: 10px;
        font-size: 12px;
        line-height: 20px;
        text-align: right;
    }
    .privacy-close-btn {
        top: 10px;
        right: 20px;
    }
    .privacy-close-btn > img{
        width: 30px;
    }
    .pv-link, .pv-links > span{
        font-size: 14px;
    }
    .privacy-wrapper .privacy-content{
        padding-bottom: 0px !important;
    }
}



/* =====================================================
   Webinar registration form (CF7) — .hg-form
   Figma: 05 · טופס הרשמה → Form (desktop 71:1761, mobile 8:265)
   All sizes are in vw: calc(<design px> * var(--hg-u)).
   --hg-u = 1 design pixel → 1440 desktop / 1024 tablet / 390 mobile.
   Design height: desktop 706.875 = 95 + 147 + 115 + 231.875 + 76 + 42
                  mobile  899.17  = 95 + 147 + 115 + 405.17  + 72 + 65
   ===================================================== */
.hg-form{
    --hg-u: calc(100vw / 1440);

    --hg-font: var(--font-family-primary);
    --hg-text: #dce3ef;
    --hg-muted: #a3adc0;
    --hg-placeholder: #6b7185;
    --hg-field-bg: rgba(20, 27, 53, 0.33);
    --hg-card-bg: #0e1327;
    --hg-border: rgba(255, 255, 255, 0.15);
    --hg-border-hover: rgba(255, 255, 255, 0.3);
    --hg-gold: #d2b051;
    --hg-gold-light: #f4dc90;
    --hg-btn-text: #0e0e10;
    --hg-seats-low: #ef6257;
    --hg-seats-mid: #f0ae47;
    --hg-seats-high: #4acd8d;
    --hg-radius: calc(2 * var(--hg-u));

    direction: rtl;
    text-align: right;
    font-family: var(--hg-font);
    color: var(--hg-text);
}
.hg-form br{
    display: none;
}
.hg-form p{
    margin: 0;
}
.hg-form .wpcf7-form-control-wrap{
    display: block;
}

/* ---- Fields (label 35 + input 60, 20 between fields) ---- */
.hg-form .hg-field + .hg-field{
    padding-top: calc(20 * var(--hg-u));
}
.hg-form .hg-label{
    display: block;
    margin: 0 0 calc(9.5 * var(--hg-u));
    font-size: calc(15 * var(--hg-u));
    line-height: calc(25.5 * var(--hg-u));
    font-weight: 500;
    color: var(--hg-text);
}
.wpcf7 .hg-form .hg-field input.hg-input{
    display: block;
    width: 100%;
    height: calc(60 * var(--hg-u));
    margin: 0;
    padding: 0 calc(20 * var(--hg-u));
    background: var(--hg-field-bg);
    border: 1px solid var(--hg-border);
    border-radius: var(--hg-radius);
    box-shadow: none;
    color: var(--hg-text);
    font-family: var(--hg-font);
    font-size: calc(17 * var(--hg-u));
    line-height: normal;
    font-weight: 400;
    text-align: right;
    transition: border-color .2s ease, box-shadow .2s ease;
}
/* numbers & emails read LTR, but stay right-aligned like the design */
.wpcf7 .hg-form .hg-field input.hg-input--ltr{
    direction: ltr;
}
.wpcf7 .hg-form .hg-field input.hg-input::placeholder{
    color: var(--hg-placeholder);
    opacity: 1;
}
.wpcf7 .hg-form .hg-field input.hg-input:hover{
    border-color: var(--hg-border-hover);
}
.wpcf7 .hg-form .hg-field input.hg-input:focus{
    outline: none;
    border-color: var(--hg-gold);
    box-shadow: 0 0 0 calc(3 * var(--hg-u)) rgba(210, 176, 81, 0.16);
}
.wpcf7 .hg-form .hg-field input.hg-input.wpcf7-not-valid{
    border-color: var(--hg-seats-low);
}
/* phone hint: 8 + 24 = 32 */
.hg-form .hg-hint{
    margin: calc(8 * var(--hg-u)) 0 0;
    font-size: calc(14 * var(--hg-u));
    line-height: calc(24 * var(--hg-u));
    font-weight: 300;
    color: var(--hg-muted);
}
.hg-form .wpcf7-not-valid-tip{
    margin-top: calc(6 * var(--hg-u));
    font-size: calc(13 * var(--hg-u));
    line-height: 1.4;
    color: var(--hg-seats-low);
}

/* ---- Broadcast date cards ---- */
.hg-form .hg-field:has(.hg-sessions){
    padding-bottom: calc(20 * var(--hg-u));
}
.hg-form .hg-sessions{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: calc(12 * var(--hg-u));
}
.hg-form .hg-sessions .wpcf7-list-item{
    display: block;
    margin: 0;
    padding-bottom: calc(9 * var(--hg-u));
}
.hg-form .hg-sessions label{
    display: block;
    margin: 0;
    cursor: pointer;
}
.hg-form .hg-sessions input[type="radio"]{
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
/* 1 + 20 + (20.4 + 5 + 28 + 5 + 22.1 + 5 + 22.4) + 18 + 1 = 147.875 */
.hg-form .hg-card{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(5 * var(--hg-u));
    height: calc(147.875 * var(--hg-u));
    padding: calc(20 * var(--hg-u)) calc(10 * var(--hg-u)) calc(18 * var(--hg-u));
    background: var(--hg-card-bg);
    border: 1px solid var(--hg-border);
    border-radius: var(--hg-radius);
    overflow: hidden;
    text-align: center;
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.hg-form .hg-sessions label:hover .hg-card{
    border-color: var(--hg-border-hover);
}
/* gold check badge */
.hg-form .hg-card::before{
    content: "";
    position: absolute;
    top: calc(9 * var(--hg-u));
    left: calc(9 * var(--hg-u));
    width: calc(20 * var(--hg-u));
    height: calc(20 * var(--hg-u));
    border-radius: 50%;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 11' fill='none'%3E%3Cpath d='M9.16634 2.75L4.12467 7.79167L1.83301 5.5' stroke='%230E0E10' stroke-width='1.55833' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / calc(11 * var(--hg-u)) no-repeat,
        linear-gradient(180deg, var(--hg-gold-light) 0%, var(--hg-gold) 100%);
    opacity: 0;
    transform: scale(.6);
    transition: opacity .2s ease, transform .2s ease;
}
/* gold line along the top */
.hg-form .hg-card::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: calc(2 * var(--hg-u));
    background: linear-gradient(90deg, #b08d57 0%, #fada69 100%);
    opacity: 0;
    transition: opacity .2s ease;
}
.hg-form .hg-sessions input:checked + .hg-card{
    border-color: var(--hg-gold);
    background:
        linear-gradient(180deg, rgba(210, 176, 81, 0.18) 0%, rgba(210, 176, 81, 0.04) 100%),
        rgba(20, 26, 52, 0.58);
    box-shadow:
        0 0 0 calc(3 * var(--hg-u)) rgba(210, 176, 81, 0.16),
        0 calc(20 * var(--hg-u)) calc(44 * var(--hg-u)) calc(-22 * var(--hg-u)) rgba(210, 176, 81, 0.75);
}
.hg-form .hg-sessions input:checked + .hg-card::before{
    opacity: 1;
    transform: scale(1);
}
.hg-form .hg-sessions input:checked + .hg-card::after{
    opacity: 1;
}
.hg-form .hg-sessions input:focus-visible + .hg-card{
    outline: 2px solid var(--hg-gold);
    outline-offset: 2px;
}
.hg-form .hg-card > span{
    display: block;
    white-space: nowrap;
}
.hg-form .hg-card__tag{
    font-size: calc(12 * var(--hg-u));
    line-height: calc(20.4 * var(--hg-u));
    font-weight: 600;
    letter-spacing: .14em;
    color: var(--hg-gold);
}
.hg-form .hg-card__date{
    font-size: calc(28 * var(--hg-u));
    line-height: calc(28 * var(--hg-u));
    font-weight: 700;
    letter-spacing: -.02em;
    color: var(--hg-text);
}
.hg-form .hg-card__time{
    font-size: calc(13 * var(--hg-u));
    line-height: calc(22.1 * var(--hg-u));
    font-weight: 300;
    color: var(--hg-muted);
}
.hg-form .hg-card__seats{
    padding-top: calc(2 * var(--hg-u));
    font-size: calc(12 * var(--hg-u));
    line-height: calc(20.4 * var(--hg-u));
    font-weight: 600;
}
.hg-form .hg-card__seats--low{ color: var(--hg-seats-low); }
.hg-form .hg-card__seats--mid{ color: var(--hg-seats-mid); }
.hg-form .hg-card__seats--high{ color: var(--hg-seats-high); }

/* ---- Submit (12 + 64 = 76) ---- */
.hg-form .hg-submit{
    position: relative;
    padding-top: calc(12 * var(--hg-u));
}
.wpcf7 .hg-form .hg-submit input.wpcf7-submit.hg-btn{
    display: block;
    width: 100%;
    height: calc(64 * var(--hg-u));
    margin: 0;
    padding: 0 calc(40 * var(--hg-u));
    background: linear-gradient(180deg, var(--hg-gold-light) 0%, var(--hg-gold) 100%);
    border: 0;
    border-radius: var(--hg-radius);
    box-shadow: 0 calc(18 * var(--hg-u)) calc(44 * var(--hg-u)) calc(-16 * var(--hg-u)) rgba(210, 176, 81, 0.65);
    color: var(--hg-btn-text);
    font-family: var(--hg-font);
    font-size: calc(19 * var(--hg-u));
    line-height: 1;
    font-weight: 700;
    letter-spacing: .01em;
    cursor: pointer;
    transition: filter .2s ease;
}
/* light sweep across the button on hover */
.hg-form .hg-submit::after{
    content: "";
    position: absolute;
    top: calc(12 * var(--hg-u));
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: var(--hg-radius);
    background: linear-gradient(115deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.65) 50%, rgba(255, 255, 255, 0) 60%) 200% 0 / 250% 100% no-repeat;
    pointer-events: none;
}
.hg-form .hg-submit:hover::after{
    background-position: -100% 0;
    transition: background-position .8s ease;
}
.wpcf7 .hg-form .hg-submit input.wpcf7-submit.hg-btn:hover{
    filter: brightness(1.04);
}
.wpcf7 .hg-form .hg-submit input.wpcf7-submit.hg-btn:focus-visible{
    outline: 2px solid var(--hg-text);
    outline-offset: 3px;
}
.wpcf7 .hg-form .hg-submit input.wpcf7-submit.hg-btn:disabled{
    opacity: .7;
    cursor: default;
}
.hg-form .hg-submit .wpcf7-spinner{
    position: absolute;
    top: calc(44 * var(--hg-u));
    left: calc(16 * var(--hg-u));
    margin: -12px 0 0;
}

/* ---- Consent note under the button (18 + 24 = 42) ---- */
.hg-form .hg-note{
    padding-top: calc(18 * var(--hg-u));
    font-size: calc(14 * var(--hg-u));
    line-height: calc(24 * var(--hg-u));
    font-weight: 300;
    text-align: center;
    color: var(--hg-muted);
}

/* ---- Tablet: desktop layout, scaled from a 1024px width ---- */
@media (min-width: 768px) and (max-width: 1024px){
    .hg-form{
        --hg-u: calc(100vw / 1024);
    }
}

/* ---- Mobile (Figma 8:265): stacked row cards, scaled from 390px ----
   Font sizes follow the page's mobile type scale (Elementor, in vw):
   small 4vw = 15.6u · body 4.5vw = 17.55u · date 7vw = 27.3u */
@media (max-width: 767px){
    .hg-form{
        --hg-u: calc(100vw / 390);
        --hg-field-bg: rgba(8, 11, 20, 0.78);
        --hg-card-bg: rgba(8, 11, 20, 0.78);
    }
    .hg-form .hg-label{
        font-size: calc(15.6 * var(--hg-u));
        line-height: calc(26.5 * var(--hg-u));
    }
    .wpcf7 .hg-form .hg-field input.hg-input{
        /* never below 16px — stops iOS zooming in on focus */
        font-size: max(16px, calc(17.55 * var(--hg-u)));
    }
    .hg-form .hg-hint,
    .hg-form .wpcf7-not-valid-tip{
        font-size: calc(15.6 * var(--hg-u));
        line-height: calc(26.5 * var(--hg-u));
    }

    /* 3 × (94.39 + 9) + 2 × 10 = 330.17 */
    .hg-form .hg-sessions{
        grid-template-columns: minmax(0, 1fr);
        row-gap: calc(10 * var(--hg-u));
    }
    .hg-form .hg-card{
        display: block;
        height: calc(94.391 * var(--hg-u));
        padding: 0;
        text-align: right;
    }
    .hg-form .hg-card > span{
        position: absolute;
    }
    /* positions measured from the card's right inner edge; the tag/seats
       column sits at 122 so it clears the wider 15px time text */
    .hg-form .hg-card__tag{
        top: calc(16.4 * var(--hg-u));
        right: calc(122 * var(--hg-u));
        font-size: calc(15.6 * var(--hg-u));
        line-height: calc(26.5 * var(--hg-u));
    }
    .hg-form .hg-card__date{
        top: calc(16 * var(--hg-u));
        right: calc(279.2 * var(--hg-u));
        font-size: calc(27.3 * var(--hg-u));
        line-height: calc(27.3 * var(--hg-u));
    }
    .hg-form .hg-card__time{
        top: calc(54 * var(--hg-u));
        right: calc(18 * var(--hg-u));
        font-size: calc(15.6 * var(--hg-u));
        line-height: calc(26.5 * var(--hg-u));
    }
    .hg-form .hg-card__seats{
        top: calc(54 * var(--hg-u));
        right: calc(122 * var(--hg-u));
        padding-top: 0;
        font-size: calc(15.6 * var(--hg-u));
        line-height: calc(26.5 * var(--hg-u));
    }
    .hg-form .hg-card::before{
        top: calc(19.65 * var(--hg-u));
        left: auto;
        right: calc(88 * var(--hg-u));
    }

    /* submit matches the page's gold CTA (Elementor .gradient-btn-bg):
       full width, padding 3.5vw 5vw, font 4vw, radius .2vw */
    .wpcf7 .hg-form .hg-submit input.wpcf7-submit.hg-btn{
        width: 100%;
        height: auto;
        padding: calc(13.65 * var(--hg-u)) calc(19.5 * var(--hg-u));
        font-size: calc(15.6 * var(--hg-u));
        line-height: 1;
        letter-spacing: normal;
        border-radius: calc(.78 * var(--hg-u));
    }
    .hg-form .hg-submit::after{
        border-radius: calc(.78 * var(--hg-u));
    }
    /* spinner vertically centred on the 41px button, near its left edge */
    .hg-form .hg-submit .wpcf7-spinner{
        top: calc(33.3 * var(--hg-u));
    }

    .hg-form .hg-note{
        font-size: calc(15.6 * var(--hg-u));
        line-height: calc(26.5 * var(--hg-u));
    }
}
