/* Háfell – brand colour overrides (generated from template.css) */
/* from template.css */
:root{--link-color: #0060B0;--text-color: #0060B0}
.registration #member-registration #jform_privacyconsent_privacy-lbl>a:hover,.registration #member-registration #jform_privacyconsent_privacy-lbl>a:focus{color:#004F91}
#sp-header .easystore-cart-icon:hover,#sp-header .easystore-cart-icon:focus{color:#0060B0}
.article-list .article .article-header h1 a:hover,.article-list .article .article-header h1 a:active,.article-list .article .article-header h1 a:focus,.article-list .article .article-header h2 a:hover,.article-list .article .article-header h2 a:active,.article-list .article .article-header h2 a:focus{color:#004F91}
.article-list .article .readmore a:hover,.article-list .article .readmore a:active,.article-list .article .readmore a:focus{color:#004F91}
.article-info>span a:hover{color:#004F91}
#sp-bottom ul.menu .active>a{color:#0060B0}
html.error-page .btn.btn-secondary{background:#0060B0;border-color:#0060B0}
html.error-page .btn.btn-secondary:hover,html.error-page .btn.btn-secondary:focus{background:#0060B0}
.sppb-form-group .sppb-form-control:focus,.form-control:focus,input[type=text]:focus:not(.form-control),input[type=email]:focus:not(.form-control),input[type=url]:focus:not(.form-control),input[type=date]:focus:not(.form-control),input[type=password]:focus:not(.form-control),input[type=search]:focus:not(.form-control),input[type=tel]:focus:not(.form-control),input[type=number]:focus:not(.form-control),select:focus:not(.form-control){border-color:#0060B0}
body .sppb-btn.sppb-btn-default,body .sppb-btn.sppb-btn-primary,body .sppb-btn.btn-primary,body .btn.sppb-btn-default,body .btn.sppb-btn-primary,body .btn.btn-primary{background:#0060B0;border-color:#0060B0}
body .sppb-btn.sppb-btn-default:hover,body .sppb-btn.sppb-btn-default:focus,body .sppb-btn.sppb-btn-default:active,body .sppb-btn.sppb-btn-primary:hover,body .sppb-btn.sppb-btn-primary:focus,body .sppb-btn.sppb-btn-primary:active,body .sppb-btn.btn-primary:hover,body .sppb-btn.btn-primary:focus,body .sppb-btn.btn-primary:active,body .btn.sppb-btn-default:hover,body .btn.sppb-btn-default:focus,body .btn.sppb-btn-default:active,body .btn.sppb-btn-primary:hover,body .btn.sppb-btn-primary:focus,body .btn.sppb-btn-primary:active,body .btn.btn-primary:hover,body .btn.btn-primary:focus,body .btn.btn-primary:active{background:#004F91;border-color:#004F91}
body .sppb-btn.sppb-btn-default.sppb-btn-outline,body .sppb-btn.sppb-btn-primary.sppb-btn-outline,body .sppb-btn.btn-primary.sppb-btn-outline,body .btn.sppb-btn-default.sppb-btn-outline,body .btn.sppb-btn-primary.sppb-btn-outline,body .btn.btn-primary.sppb-btn-outline{border-color:#0060B0;color:#0060B0}
body .sppb-btn.sppb-btn-default.sppb-btn-outline:hover,body .sppb-btn.sppb-btn-default.sppb-btn-outline:focus,body .sppb-btn.sppb-btn-default.sppb-btn-outline:active,body .sppb-btn.sppb-btn-primary.sppb-btn-outline:hover,body .sppb-btn.sppb-btn-primary.sppb-btn-outline:focus,body .sppb-btn.sppb-btn-primary.sppb-btn-outline:active,body .sppb-btn.btn-primary.sppb-btn-outline:hover,body .sppb-btn.btn-primary.sppb-btn-outline:focus,body .sppb-btn.btn-primary.sppb-btn-outline:active,body .btn.sppb-btn-default.sppb-btn-outline:hover,body .btn.sppb-btn-default.sppb-btn-outline:focus,body .btn.sppb-btn-default.sppb-btn-outline:active,body .btn.sppb-btn-primary.sppb-btn-outline:hover,body .btn.sppb-btn-primary.sppb-btn-outline:focus,body .btn.sppb-btn-primary.sppb-btn-outline:active,body .btn.btn-primary.sppb-btn-outline:hover,body .btn.btn-primary.sppb-btn-outline:focus,body .btn.btn-primary.sppb-btn-outline:active{background-color:#0060B0}
body .sppb-btn.sppb-btn-link,body .btn.sppb-btn-link{color:#0060B0}
.manufacturer-product-details .product-details-slider .dot-controller-with_image.sp-slider .sp-dots ul li::after{border:solid 2px #0060B0}
.manufacturer-feature .sppb-feature-box-title span{color:#0060B0}
#productFilters .j2store-product-search-input:focus{border:1px solid #0060B0}
#productFilters .btn-success{background:#0060B0;border-color:#0060B0}
#productFilters #j2store_sortby:focus{border:1px solid #0060B0}
.j2store-sidebar-filters-container .j2store-product-filters #j2store-brand-filter-container label .j2store-brand-checkboxes:checked:before,.j2store-sidebar-filters-container .j2store-product-filters #j2store-brand-filter-container label .j2store-pfilter-checkboxes-industry_1:checked:before,.j2store-sidebar-filters-container .j2store-product-filters #j2store-brand-filter-container label .j2store-pfilter-checkboxes-type_2:checked:before,.j2store-sidebar-filters-container .j2store-product-filters #j2store-pf-filter-industry_1 label .j2store-brand-checkboxes:checked:before,.j2store-sidebar-filters-container .j2store-product-filters #j2store-pf-filter-industry_1 label .j2store-pfilter-checkboxes-industry_1:checked:before,.j2store-sidebar-filters-container .j2store-product-filters #j2store-pf-filter-industry_1 label .j2store-pfilter-checkboxes-type_2:checked:before,.j2store-sidebar-filters-container .j2store-product-filters #j2store-pf-filter-type_2 label .j2store-brand-checkboxes:checked:before,.j2store-sidebar-filters-container .j2store-product-filters #j2store-pf-filter-type_2 label .j2store-pfilter-checkboxes-industry_1:checked:before,.j2store-sidebar-filters-container .j2store-product-filters #j2store-pf-filter-type_2 label .j2store-pfilter-checkboxes-type_2:checked:before{background-color:#0060B0}
.j2store-products-row .j2store-single-product h2.product-title:hover a{color:#0060B0}
.j2store-single-product-view .j2store-single-product .product-details-top-wrap .product-top-description .price-sku-brand-container .discount-percentage{color:#0060B0}
.manufacturer-cart-mod .j2store-minicart-button span>a>.cart-item-count{background-color:#0060B0}
.sp-megamenu-parent>li>a:before,.sp-megamenu-parent>li>span:before{background-color:#0060B0}
/* from presets/preset1.css */
.sp-preloader>div{background:#0060B0}
a{color:#0060B0}
a:hover,a:focus,a:active{color:#004F91}
.tags>li a{background:fadeOut(#0060B0, 0.9);color:#0060B0}
.tags>li a:hover{background:#004F91}
.article-social-share .social-share-icon ul li a:hover,.article-social-share .social-share-icon ul li a:focus{background:#0060B0}
.sp-reading-progress-bar{background-color:#0060B0}
.sp-megamenu-parent>li:hover>a{color:#0060B0}
.sp-megamenu-parent>li.active>a,.sp-megamenu-parent>li.active:hover>a{color:#0060B0}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item>a:hover{color:#0060B0}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active>a{color:#0060B0}
#offcanvas-toggler>.fa:hover,#offcanvas-toggler>.fa:focus,#offcanvas-toggler>.fa:active{color:#0060B0}
.offcanvas-menu .offcanvas-inner .sp-module ul>li a:hover,.offcanvas-menu .offcanvas-inner .sp-module ul>li a:focus,.offcanvas-menu .offcanvas-inner .sp-module ul>li span:hover,.offcanvas-menu .offcanvas-inner .sp-module ul>li span:focus{color:#0060B0}
.btn-primary,.sppb-btn-primary{border-color:#0060B0;background-color:#0060B0}
.btn-primary:hover,.sppb-btn-primary:hover{border-color:#004F91;background-color:#004F91}
ul.social-icons>li a:hover{color:#0060B0}
.sp-page-title{background:#0060B0}
.sp-module ul>li>a:hover{color:#0060B0}
.sp-module .latestnews>div>a:hover{color:#0060B0}
.sp-module .tagscloud .tag-name:hover{background:#0060B0}
.search .btn-toolbar button{background:#0060B0}
#sp-bottom-down a:hover,#sp-bottom-down a:active,#sp-bottom-down a:focus,#sp-footer a:hover,#sp-footer a:active,#sp-footer a:focus,#sp-bottom a:hover,#sp-bottom a:active,#sp-bottom a:focus{color:#0060B0}
.sp-comingsoon body{background-color:#0060B0}
.pagination>.active>a,.pagination>.active>span{border-color:#0060B0;background-color:#0060B0}
.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span:hover,.pagination>.active>span:focus{border-color:#0060B0;background-color:#0060B0}
.error-code,.coming-soon-number{color:#0060B0}

/* ==========================================================
   Háfell – site components
   ========================================================== */

/* Project cards */
.hafell-card-img .sppb-addon-single-image-container { display: block; overflow: hidden; }
.hafell-card-img img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .5s ease; }
.hafell-card-img:hover img { transform: scale(1.05); }
.hafell-card-title .sppb-addon-title { font-size: 22px; line-height: 1.3; }
.hafell-card-title .sppb-addon-title a { color: #1d1d1d; }
.hafell-card-title .sppb-addon-title a:hover { color: #0060B0; }
.hafell-card-text p { font-size: 15px; line-height: 1.6; color: #555; margin: 0; }

/* Lead paragraph */
.hafell-lead { font-size: 20px; line-height: 1.6; color: #333; }
.hafell-small { font-size: 14px; color: #666; margin-top: 15px; }

/* Project facts panel */
.hafell-facts { background: #fff; padding: 32px 30px 12px; border-top: 4px solid #0060B0; box-shadow: 0 10px 30px rgba(0, 0, 0, .05); }
.hafell-facts dl { margin: 0; }
.hafell-facts dt { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #888; margin-bottom: 4px; }
.hafell-facts dd { font-size: 16px; line-height: 1.5; color: #1d1d1d; margin: 0 0 20px; }

/* Project text + quantity tables */
.hafell-project-text table, .hafell-table { width: 100%; max-width: 560px; border-collapse: collapse; margin: 10px 0 25px; font-size: 15px; }
.hafell-project-text table td { padding: 9px 12px; border-bottom: 1px solid #e3e3e3; vertical-align: top; }
.hafell-project-text table td:last-child { text-align: right; white-space: nowrap; font-weight: 500; }
.hafell-project-text table tr:first-child td[colspan] { border-bottom: 2px solid #0060B0; padding-top: 18px; }

/* Gallery – responsive grid */
.hafell-gallery .sppb-gallery { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; margin: 0 !important; padding: 0; }
.hafell-gallery .sppb-gallery li { margin: 0 !important; }
.hafell-gallery .sppb-gallery li a { display: block; overflow: hidden; }
.hafell-gallery .sppb-gallery img { width: 100% !important; height: 200px !important; object-fit: cover; transition: transform .4s ease, opacity .3s; }
.hafell-gallery .sppb-gallery li a:hover img { transform: scale(1.06); opacity: .9; }
@media (max-width: 575px) { .hafell-gallery .sppb-gallery { grid-template-columns: repeat(2, 1fr); gap: 6px; } .hafell-gallery .sppb-gallery img { height: 130px !important; } }

/* Tag lists (clients, fleet) */
.hafell-tags { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.hafell-tags li { padding: 8px 18px; border: 1px solid #d9d9d9; background: #fff; font-size: 15px; color: #1d1d1d; }
.hafell-tags-lg li { padding: 12px 22px; font-size: 17px; font-weight: 500; }

/* Staff list */
.hafell-staff { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 40px; }
.hafell-staff li { display: flex; justify-content: space-between; gap: 15px; padding: 14px 0; border-bottom: 1px solid #e3e3e3; }
.hafell-staff-name { font-weight: 600; color: #1d1d1d; }
.hafell-staff-role { color: #666; text-align: right; }
@media (max-width: 767px) { .hafell-staff { grid-template-columns: 1fr; } }

/* Boxes */
.hafell-box { background: #fff; padding: 40px; height: 100%; }
@media (max-width: 767px) { .hafell-box { padding: 25px; margin-bottom: 20px; } }

/* Job page language lines */
.hafell-lang { display: flex; gap: 12px; align-items: flex-start; }
.hafell-lang img { display: inline-block; flex: 0 0 25px; margin-top: 3px; }

/* Header phone button */
.hafell-header-phone { white-space: nowrap; }
.hafell-header-phone .fas { margin-right: 6px; }

/* Footer opening hours */
#sp-bottom .sp-module p a { color: #F9F9F9; }
#sp-bottom .sp-module p a:hover { color: #6aa9e0; }

/* Icelandic words are long – allow headings to break nicely */
.sppb-addon-title { overflow-wrap: break-word; hyphens: auto; }
@media (max-width: 575px) { .hafell-card-title .sppb-addon-title { font-size: 20px; } }

/* Home hero photo */
.hafell-hero-img { position: relative; z-index: 2; }
.hafell-hero-img img { width: 100%; height: 640px; object-fit: cover; box-shadow: 0 30px 60px rgba(0,0,0,.12); }
@media (max-width: 1199px) { .hafell-hero-img img { height: 520px; } }
@media (max-width: 767px) { .hafell-hero-img img { height: 320px; } }

/* Footer bar: Facebook icon inline before the legal menu */
#sp-footer2 .sp-column { display: flex; align-items: center; justify-content: flex-end; gap: 24px; }
#sp-footer2 .social-icons { margin: 0; }
#sp-footer2 .sp-module, #sp-footer2 .sp-module ul.menu { margin: 0; }
@media (max-width: 991px) { #sp-footer2 .sp-column { justify-content: center; margin-top: 10px; } }

/* Gallery: clearfix pseudo-elements must not occupy grid cells */
.hafell-gallery .sppb-gallery::before, .hafell-gallery .sppb-gallery::after { display: none !important; content: none !important; }

/* Footer social icon: readable hover state */
#sp-footer ul.social-icons > li > a { background-color: rgba(255, 255, 255, .1); color: #d0d0d0 !important; }
#sp-footer ul.social-icons > li > a:hover, #sp-footer ul.social-icons > li > a:focus { background-color: #0060B0; color: #fff !important; }

/* CTA contact block */
.hafell-cta-contact { list-style: none; margin: 0; padding: 0; }
.hafell-cta-contact li { display: flex; align-items: center; gap: 18px; padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .15); }
.hafell-cta-contact li:first-child { padding-top: 0; }
.hafell-cta-contact .fas { flex: 0 0 46px; width: 46px; height: 46px; line-height: 46px; text-align: center; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; font-size: 16px; }
.hafell-cta-contact small { display: block; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .65); line-height: 1.4; }
.hafell-cta-contact a { color: #fff; font-size: 20px; font-weight: 500; line-height: 1.4; }
.hafell-cta-contact a:hover { color: #9cc8f0; }
.hafell-gallery-3 .sppb-gallery { grid-template-columns: repeat(3, 1fr); }
.hafell-gallery-3 .sppb-gallery img { height: 280px !important; }
@media (max-width: 767px) { .hafell-gallery-3 .sppb-gallery { grid-template-columns: repeat(2, 1fr); } .hafell-gallery-3 .sppb-gallery img { height: 150px !important; } }

/* Mobile menu toggle (Helix burger markup has no styles in this template version) */
#offcanvas-toggler { align-items: center; height: 44px; padding: 0 14px 0 0; cursor: pointer; }
#offcanvas-toggler .burger-icon { width: 26px; }
#offcanvas-toggler .burger-icon > span { display: block; height: 2px; width: 100%; margin: 6px 0; background-color: #1d1d1d; border-radius: 2px; transition: background-color .3s; }
#offcanvas-toggler:hover .burger-icon > span { background-color: #0060B0; }

/* Home hero: the photo is in normal flow, so the template's mobile offset is not needed */
@media (max-width: 1199.98px) { #sp-page-builder .hero-sec .inner-row { margin-top: 60px !important; } }
@media (max-width: 991.98px) { #sp-page-builder .hero-sec .inner-row { margin-top: 0 !important; } }

/* ---------- Responsive refinements ---------- */
@media (max-width: 991.98px) {
  /* decorative arc collides with stacked text on small screens */
  #sp-page-builder .hafell-who { background-image: none !important; }
  /* footer: breathing room between stacked columns */
  #sp-bottom .row > [class*="col-"] { margin-bottom: 40px; }
  #sp-bottom .row > [class*="col-"]:last-child { margin-bottom: 0; }
  .sppb-addon:has(> .sppb-button-wrapper > .hafell-btn-all), .sppb-button-wrapper:has(> .hafell-btn-all) { text-align: left !important; justify-content: flex-start !important; }
}

/* Footer on tablets: 2 x 2 grid instead of one long column */
@media (min-width: 576px) and (max-width: 991.98px) {
  #sp-bottom .row > [class*="col-"] { flex: 0 0 50%; max-width: 50%; }
  #sp-bottom .row > [class*="col-"]:nth-last-child(-n+2) { margin-bottom: 0; }
}

/* Forms on phones: fields are full width, so drop the column gutters */
@media (max-width: 767.98px) {
  .sppb-addon-form-builder-form { margin-left: 0 !important; margin-right: 0 !important; }
  .sppb-addon-form-builder .sppb-form-group { padding-left: 0 !important; padding-right: 0 !important; }
}

/* Subtle zoom on hover for feature photos (replaces demo colour tint) */
.hafell-zoom .sppb-addon-single-image-container { display: block; overflow: hidden; }
.hafell-zoom img { transition: transform .5s ease; }
.hafell-zoom:hover img { transform: scale(1.04); }
