/* ROYSEN — сторінка «Контакти» (Figma node 209-227). Desktop 1200–1920. */

/* ─── Хіро на бежевому ─── */
.ct-hero{ background:var(--beige); padding-top:46px; color:var(--ink); }

.ct-hero__head{
	display:flex; align-items:center; justify-content:space-between; gap:48px;
	min-height:111px;
}
.ct-hero__title{
	font-size:96px; font-weight:500; line-height:1.16; text-transform:uppercase;
	max-width:640px;
}
.ct-hero__intro{ width:389px; flex:none; font-size:14px; opacity:.7; }

/* Канали зв'язку: 4 колонки з роздільниками */
.ct-channels{
	list-style:none; margin:48px 0 0; padding:24px 0;
	border-top:1px solid var(--line);
	display:flex;
}
.ct-channel{
	position:relative;
	flex:1 1 0; min-width:0;
	display:flex; flex-direction:column; gap:12px;
}
.ct-channel:last-child{ flex:0 0 auto; max-width:340px; }
.ct-channel:last-child .ct-channel__value{ white-space:nowrap; }
.ct-channel + .ct-channel::before{
	content:""; position:absolute; left:-87px; top:0; bottom:0;
	width:1px; background:var(--line);
}
.ct-channel__value{
	font-size:18px; font-weight:500; text-transform:uppercase;
	color:inherit; text-decoration:none; overflow-wrap:anywhere;
}
a.ct-channel__value:hover{ text-decoration:underline; text-underline-offset:4px; }
.ct-channel__note{ font-size:14px; opacity:.5; }

/* ─── Секція з формою ─── */
.ct-main{ margin:81px 0; }
.ct-grid{ display:flex; justify-content:space-between; gap:48px; }

.ct-left{ width:445px; flex:none; display:flex; flex-direction:column; gap:24px; }
.ct-left__head{ display:flex; flex-direction:column; gap:12px; }
.ct-left__title{ font-size:40px; font-weight:500; line-height:1.2; text-transform:uppercase; }

.ct-schedule{ margin:0; }
.ct-schedule__row{
	display:flex; align-items:center; justify-content:space-between;
	padding:14px 0;
	border-top:1px solid var(--line);
}
.ct-schedule__row:last-child{ border-bottom:1px solid var(--line); }
.ct-schedule dt{
	font-size:12px; letter-spacing:1.2px; text-transform:uppercase; opacity:.6;
}
.ct-schedule dd{ margin:0; font-size:14px; font-weight:500; }

.ct-left__note{ font-size:14px; opacity:.7; }

/* Форма в рамці (Contact Form 7, стилі повністю свої) */
.ct-form{
	width:781px; max-width:calc(100% - 493px);
	border:1px solid var(--line);
	padding:48px;
}
.ct-form .wpcf7-form{ display:flex; flex-direction:column; gap:32px; }
.ct-form__row{ display:flex; gap:32px; }
.ct-form__row .ct-field{ flex:1 1 0; min-width:0; }

.ct-field{ margin:0; display:flex; flex-direction:column; gap:8px; }
.ct-field label{ font-size:14px; font-weight:500; }
.ct-field .wpcf7-form-control-wrap{ display:block; width:100%; }
.ct-field input,
.ct-field textarea{
	border:0; border-bottom:1px solid var(--line-input, rgba(17,17,17,.34)); border-radius:0;
	background:none; padding:8px 12px 8px 0;
	font:inherit; font-size:14px; color:var(--ink);
	width:100%;
}
.ct-field input::placeholder,
.ct-field textarea::placeholder{ color:rgba(17,17,17,.45); }
.ct-field input:focus,
.ct-field textarea:focus{ outline:none; border-bottom-color:var(--ink); }
.ct-field textarea{ height:130px; resize:vertical; }

.ct-form__foot{ display:flex; flex-direction:column; gap:32px; }

/* Чекбокс згоди ([acceptance]) */
.ct-consent .wpcf7-form-control-wrap,
.ct-consent .wpcf7-acceptance,
.ct-consent .wpcf7-list-item{ display:block; margin:0; }
.ct-consent .wpcf7-list-item label{
	display:flex; gap:12px; align-items:flex-start;
	cursor:pointer;
}
.ct-consent input[type="checkbox"]{
	appearance:none; -webkit-appearance:none;
	width:18px; height:18px; flex:none; margin:0;
	border:1px solid var(--ink); background:none; cursor:pointer;
}
.ct-consent input[type="checkbox"]:checked{
	background:var(--yellow);
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4 9.5 7.5 13 14 5.5' fill='none' stroke='%23111' stroke-width='1.6'/%3E%3C/svg%3E");
}
.ct-consent .wpcf7-list-item-label{ font-size:12px; opacity:.7; }

/* Кнопка «Надіслати»: r-btn + стрілка фоном (input не може містити svg) */
.ct-form__actions{ display:flex; justify-content:flex-end; align-items:center; gap:12px; }
.ct-form .wpcf7-submit{
	cursor:pointer;
	padding-right:55px;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23.6 8.84'%3E%3Cpath d='M23.42 4.84a.6.6 0 0 0 0-.85L19.6.18a.6.6 0 1 0-.85.85l3.4 3.39-3.4 3.4a.6.6 0 1 0 .85.84l3.82-3.82ZM0 4.42v.6h23v-1.2H0v.6Z' fill='%23111'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 24px center;
	background-size:23px 9px;
}
.ct-form .wpcf7-submit:hover{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23.6 8.84'%3E%3Cpath d='M23.42 4.84a.6.6 0 0 0 0-.85L19.6.18a.6.6 0 1 0-.85.85l3.4 3.39-3.4 3.4a.6.6 0 1 0 .85.84l3.82-3.82ZM0 4.42v.6h23v-1.2H0v.6Z' fill='%23FEE34A'/%3E%3C/svg%3E");
}
.ct-form .wpcf7-spinner{ margin:0; }

/* Службові елементи CF7 — рідний CSS вимкнено, ховаємо самі */
.ct-form .hidden-fields-container{ display:none; }

/* Службовий блок CF7 для скрінрідерів — ховаємо візуально (рідний CSS CF7 вимкнено) */
.ct-form .screen-reader-response{
	position:absolute; width:1px; height:1px; margin:0; padding:0;
	overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* Валідація і відповідь CF7 */
.ct-form .wpcf7-not-valid-tip{ display:block; margin-top:6px; font-size:12px; color:#B3261E; }
.ct-form .wpcf7-not-valid{ border-bottom-color:#B3261E; }
.ct-form .wpcf7-response-output{
	margin:0; padding:0; border:0;
	font-size:14px;
}
.ct-form .wpcf7-form.invalid .wpcf7-response-output,
.ct-form .wpcf7-form.failed .wpcf7-response-output,
.ct-form .wpcf7-form.aborted .wpcf7-response-output{ color:#B3261E; }
.ct-form .wpcf7-form.sent .wpcf7-response-output{ font-weight:500; }

.ct-form__missing{ font-size:14px; opacity:.7; }

/* ─── 1200–1440: форма стискається, ліва колонка тримає ширину ─── */
@media (max-width:1500px){
	.ct-hero__title{ font-size:clamp(64px, 6.6vw, 96px); }
	.ct-channel + .ct-channel::before{ left:-40px; }
	.ct-form{ padding:40px; }
}
