/*
 * Víkingur 26: the contact page (page-hafa-samband.php), after the design's
 * ContactPage (ui_kits/web/Facilities.jsx). The page head is shared. The
 * form is the page's own Gravity Form; the rules under "Form" give its
 * markup the design's fields.
 */

.vik-contact{padding-top:72px}
.vik-contact__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}

/* ── Form (Gravity Forms markup) ── */
.vik-cform .gform_wrapper{margin:0}
.vik-cform .gform_fields{display:grid;grid-template-columns:1fr 1fr;gap:20px!important;margin:0;padding:0;list-style:none}
/* The spam trap ("X/Twitter"): Gravity Forms' own stylesheet hides it, and
   the site does not load that stylesheet. */
.vik-cform .gform_validation_container,.vik-cform .gfield--type-honeypot{display:none!important}
.vik-cform .gfield{grid-column:1/-1;margin:0;padding:0}
.vik-cform .gfield--type-text,.vik-cform .gfield--type-email{grid-column:span 1}
.vik-cform .gfield_label,.vik-cform legend.gfield_label{display:block;margin:0 0 8px;font-family:var(--font-condensed)!important;font-weight:700!important;font-size:12px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
.vik-cform .gfield_required{margin-left:4px;color:var(--vik-astrida)}
.vik-cform .gfield_required .gfield_required{margin:0}
.vik-cform input[type=text],.vik-cform input[type=email],.vik-cform input[type=tel],.vik-cform textarea,.vik-cform select{box-sizing:border-box;width:100%!important;height:52px;padding:0 16px!important;border:1px solid var(--border-hairline)!important;border-radius:0!important;background:var(--white);font-family:var(--font-body);font-size:16px!important;color:var(--ink);outline:none;box-shadow:none!important}
.vik-cform textarea{height:auto;min-height:160px;padding:14px 16px!important;line-height:1.5;resize:vertical}
.vik-cform input:focus,.vik-cform textarea:focus,.vik-cform select:focus{border-color:var(--ink)!important;box-shadow:0 0 0 1px var(--ink)!important}
.vik-cform .gform_footer{margin:24px 0 0!important;padding:0!important}
.vik-cform .gform_footer input[type=submit],.vik-cform .gform_button{display:inline-flex;align-items:center;height:56px;padding:0 28px!important;border:0!important;border-radius:var(--radius-md)!important;background:var(--vik-astrida)!important;color:#fff!important;font-family:var(--font-condensed)!important;font-weight:700!important;font-size:16px!important;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background var(--dur-fast)}
.vik-cform .gform_footer input[type=submit]:hover,.vik-cform .gform_button:hover{background:var(--red-700)!important}
.vik-cform .gfield_validation_message,.vik-cform .validation_message{margin-top:6px!important;padding:0!important;border:0!important;background:none!important;font-size:14px;color:var(--vik-astrida)!important}
.vik-cform .gfield_error input,.vik-cform .gfield_error textarea{border-color:var(--vik-astrida)!important}
.vik-cform .gform_validation_errors{margin:0 0 20px!important;padding:14px 16px!important;border:1px solid var(--vik-astrida)!important;border-radius:0!important;background:var(--white)!important;box-shadow:none!important}
.vik-cform .gform_validation_errors h2{margin:0!important;font-family:var(--font-body)!important;font-size:15px!important;font-weight:600!important;color:var(--vik-astrida)!important}
.vik-cform .gform_confirmation_message{display:grid;gap:12px;font-size:18px;line-height:1.6}
.vik-cform .gform_confirmation_message::before{content:"";width:48px;height:48px;border-radius:50%;background:var(--vik-astrida) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/22px no-repeat}

/* ── Contact details ── */
.vik-contact__aside{display:grid;gap:32px;align-content:start}
.vik-contact__rows{display:grid;border-top:1px solid var(--border-hairline)}
.vik-contact__row{display:grid;grid-template-columns:24px 96px minmax(0,1fr) 18px;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--border-hairline);color:var(--ink);text-decoration:none;transition:color var(--dur-fast)}
.vik-contact__row:hover{color:var(--vik-astrida)}
.vik-contact__label,.vik-contact__head{font-family:var(--font-condensed);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
.vik-contact__value{font-size:16px;overflow-wrap:anywhere}
.vik-contact__office{display:grid;gap:4px}
.vik-contact__head{padding-bottom:8px;border-bottom:2px solid var(--ink)}
.vik-contact__person{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--border-hairline)}
.vik-contact__person>span{display:grid;gap:2px}
.vik-contact__person b{font-family:var(--font-condensed);font-size:19px;text-transform:uppercase}
.vik-contact__person>span>span{font-size:14px;color:var(--text-secondary)}
.vik-contact__person a{font-size:15px;color:var(--ink);white-space:nowrap}
.vik-contact__all{margin-top:12px;font-size:18px}

/* ── Help cards ── */
.vik-contact-help{border-top:1px solid var(--border-hairline)}
.vik-contact-help__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:56px;padding-bottom:72px}
.vik-contact-help__card{display:grid;gap:12px;align-content:start;padding:28px;border:1px solid var(--border-hairline);border-radius:var(--radius-card);color:var(--ink);text-decoration:none;transition:border-color var(--dur-fast),background var(--dur-fast)}
.vik-contact-help__card:hover{border-color:var(--ink);background:var(--canvas)}
.vik-contact-help__card .vik-icon{color:var(--vik-astrida)}
.vik-contact-help__title{font-family:var(--font-condensed);font-weight:700;font-size:22px;text-transform:uppercase}
.vik-contact-help__text{font-size:15px;color:var(--text-secondary)}

@media (max-width:900px){
	.vik-contact__grid{grid-template-columns:1fr;gap:48px}
	.vik-contact-help__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
	.vik-contact{padding-top:48px}
	.vik-cform .gform_fields{grid-template-columns:1fr}
	.vik-cform .gfield--type-text,.vik-cform .gfield--type-email{grid-column:1/-1}
	.vik-contact__row{grid-template-columns:20px 72px minmax(0,1fr) 16px;gap:10px}
	.vik-contact-help__grid{grid-template-columns:1fr;padding-top:40px;padding-bottom:56px}
}
