/* Shared Norwegian touring style for catalog, product and service pages. */
:root { --tur-green:#234437; --tur-ink:#203b30; --tur-cream:#f7f5ef; --tur-line:#dfe4db; }
body:not(#index) #wrapper { background:var(--tur-cream); padding-top:22px; }
body:not(#index) #main .page-header h1,
body:not(#index) #main > h1,
body#product .product-container h1,
body#category .block-category h1 { font:700 clamp(27px,3vw,38px)/1.2 Georgia,serif; color:var(--tur-ink); text-transform:none; margin-bottom:22px; }
body:not(#index) #main h2 { color:var(--tur-ink); }
body:not(#checkout) #main a:not(.btn):not(.tur-button),
body:not(#checkout) #left-column a { color:var(--tur-green); }
body:not(#index) #wrapper .breadcrumb { padding:0 0 18px; margin-bottom:0; font-size:14px; }
body:not(#index) #wrapper .breadcrumb a { color:#466354; }
body:not(#index) .card,
body:not(#index) #content.page-content,
body:not(#index) .tabs,
body:not(#index) #search_filters,
body:not(#index) .block-categories { border:1px solid var(--tur-line); border-radius:12px; box-shadow:0 5px 18px #203b3008; background:#fff; }
body:not(#index) .btn { border-radius:6px; text-transform:none; font-weight:600; }
body:not(#index) .btn-primary { background:var(--tur-green); border-color:var(--tur-green); }
body:not(#index) .btn-primary:hover { background:#315b49; border-color:#315b49; }
body:not(#index) .form-control { border:1px solid #cdd7cd; border-radius:6px; background:#fff; color:var(--tur-ink); min-height:44px; }
body:not(#index) .form-control:focus { border-color:#52705d; box-shadow:0 0 0 3px #23443718; outline:0; }
body:not(#index) #left-column .block-categories,
body:not(#index) #left-column #search_filters { padding:22px 18px; }
body:not(#index) #left-column .h6,
body:not(#index) #left-column .text-uppercase { text-transform:none; color:var(--tur-ink); font-weight:700; }
body:not(#index) .block-categories .category-sub-menu li { padding:5px 0; }
body:not(#index) .block-categories .category-sub-menu a { font-size:14px; line-height:1.45; }
body:not(#index) #search_filters .facet { border-top:1px solid #edf0e9; padding-top:16px; }
body:not(#index) #search_filters .facet .facet-label a { font-size:14px; color:#405447; }
body#category .block-category { padding:30px; border-top:4px solid var(--tur-green); min-height:0; }
body#category .block-category h1 { margin:0 0 18px; }
body#category #category-description h2 { font:700 23px/1.3 Georgia,serif; color:var(--tur-ink); }
body#category #category-description p { line-height:1.7; color:#405447; margin-bottom:14px; }
body#category .block-category-inner { display:flex; gap:25px; align-items:center; }
body#category .block-category-inner #category-description { flex:1; min-width:0; }
body#category .block-category .category-cover { flex:0 0 141px; }
body#category .block-category .category-cover img { max-width:100%; height:auto; object-fit:contain; }
body#category #subcategories { padding:26px; }
body#category #subcategories .subcategory-heading { font:700 25px/1.3 Georgia,serif; text-transform:none; }
body#category #subcategories ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:16px; margin:0; }
body#category #subcategories ul li { float:none; width:auto; margin:0; padding:16px 12px; border:1px solid var(--tur-line); border-radius:9px; background:#fcfcf8; min-width:0; }
body#category #subcategories ul li:hover { border-color:#7f9785; background:#f1f4ed; }
body#category #subcategories ul li .subcategory-image { padding:0; }
body#category #subcategories ul li .subcategory-image a { border:0; padding:0; background:transparent; }
body#category #subcategories .subcategory-name { font:700 18px/1.3 Georgia,serif; text-transform:none; }
body#category #subcategories img { max-height:140px; width:auto; max-width:100%; object-fit:contain; }
body:not(#index) #js-product-list-top { background:#eeeee5; border:1px solid var(--tur-line); border-radius:9px; padding:15px 18px; margin-bottom:24px; }
body:not(#index) #js-product-list .products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0; }
body:not(#index) #js-product-list .products > .product { width:auto; min-width:0; padding:0; margin:0; }
body:not(#index) .products .product-miniature { margin:0; width:100%; }
body:not(#index) .products .thumbnail-container { width:100%; height:auto; min-height:360px; background:#fff; border:1px solid var(--tur-line); border-radius:10px; overflow:hidden; box-shadow:0 4px 16px #203b3006; }
body:not(#index) .products .thumbnail-container:hover { border-color:#a6b8a6; }
body:not(#index) .products .product-thumbnail { height:210px; display:flex; justify-content:center; align-items:center; background:#fff; }
body:not(#index) .products .product-thumbnail img { max-width:100%; max-height:100%; object-fit:contain; }
body:not(#index) .products .product-description { width:100%; height:auto; min-height:150px; padding:16px; background:#fff; }
body:not(#index) .products .product-title { text-align:left; line-height:1.4; margin:0 0 10px; }
body:not(#index) .products .product-price-and-shipping { text-align:left; }
body:not(#index) .products .price { color:var(--tur-green); font-weight:700; font-size:17px; }
body:not(#index) .products .highlighted-informations { width:100%; }
body:not(#index) .product-flags .new { background:var(--tur-green); }
body:not(#index) .pagination .page-list { border:1px solid var(--tur-line); border-radius:8px; box-shadow:none; }
body#product .product-container > .col-md-6:last-child { background:#fff; border:1px solid var(--tur-line); border-radius:12px; padding:28px; }
body#product .product-cover { border:1px solid var(--tur-line); border-radius:12px; overflow:hidden; background:#fff; }
body#product .product-cover img { width:100%; height:auto; object-fit:contain; }
body#product .product-prices .current-price { color:var(--tur-green); font-size:28px; font-weight:700; }
body#product .product-prices { margin-bottom:22px; }
body#product .product-add-to-cart { background:#f1f4ed; border-radius:9px; padding:20px; margin:20px 0; }
body#product .product-add-to-cart .add-to-cart { min-height:44px; padding:12px 20px; }
body#product .tabs { padding:20px; margin-top:24px; box-shadow:none; }
body#product .tabs .nav-tabs .nav-link.active { color:var(--tur-green); border-bottom:3px solid var(--tur-green); }
body#product .product-reference { border-left-color:var(--tur-green); background:#f1f4ed; color:var(--tur-ink); }
body#product .product-images > li.thumb-container > .thumb { border-radius:7px; }
body#product .product-images img.selected { border-color:var(--tur-green); }
body#product .product-description p { line-height:1.7; }
body#cms #content.page-cms { padding:36px; border-top:4px solid var(--tur-green); line-height:1.8; }
body#cms #content.page-cms h2 { font:700 27px/1.3 Georgia,serif; margin:28px 0 16px; }
body#cms #content.page-cms h2:first-child { margin-top:0; }
body#cms #content.page-cms p,body#cms #content.page-cms li { max-width:850px; color:#405447; }
body#cms #content.page-cms table { max-width:100%; }
body#authentication #content,body#registration #content,body#password #content { max-width:680px; margin:0 auto; padding:32px; border-top:4px solid var(--tur-green); }
body#authentication .page-header,body#registration .page-header,body#password .page-header { text-align:center; }
body#authentication #submit-login { min-height:46px; min-width:160px; }
body#contact #content { padding:30px; }
body#contact .contact-form { border:0; padding:0; }
body#contact .contact-rich { color:var(--tur-ink); padding:22px; }
body#my-account .links a span.link-item { border:1px solid var(--tur-line); border-radius:12px; box-shadow:none; color:var(--tur-ink); padding:25px; }
body#my-account .links a:hover span.link-item { background:#eef3ea; }
body#cart .cart-grid-body .card,body#cart .cart-summary { border-top:4px solid var(--tur-green); }
body#cart .cart-grid-body .card-block { padding:24px; }
body#cart .cart-item { padding:24px 20px; }
body#checkout { background:var(--tur-cream); color:var(--tur-ink); }
body#checkout #header { background:var(--tur-cream); box-shadow:none; }
body#checkout #header .logo { max-height:60px; width:auto; }
body#checkout section.checkout-step { border:1px solid var(--tur-line); border-radius:10px; margin-bottom:16px; box-shadow:none; background:#fff; }
body#checkout section.checkout-step .step-title { color:var(--tur-ink); text-transform:none; }
body#checkout .cart-summary { border-top:4px solid var(--tur-green); }
@media(min-width:1200px) { body:not(#index):not(#category) #js-product-list .products { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:991px) { body:not(#index) #js-product-list .products { grid-template-columns:repeat(2,minmax(0,1fr)); } body#product .product-container > .col-md-6:last-child { padding:20px; } }
@media(max-width:767px) {
 body:not(#index) #wrapper { padding-top:18px; }
 body:not(#index) #main .page-header h1,body#product .product-container h1,body#category .block-category h1 { font-size:27px; overflow-wrap:break-word; }
 body#category .block-category,body#category #subcategories { padding:20px; }
 body#category .block-category-inner { flex-wrap:wrap; gap:12px; }
 body#category .block-category-inner #category-description { flex-basis:100%; }
 body#category .block-category .category-cover { flex-basis:110px; margin:auto; }
 body#category #subcategories ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 body#category #subcategories ul li { padding:12px 8px; }
 body#category #subcategories .subcategory-name { font-size:16px; }
 body:not(#index) #js-product-list .products { gap:12px; }
 body:not(#index) .products .thumbnail-container { min-height:315px; }
 body:not(#index) .products .product-thumbnail { height:155px; }
 body:not(#index) .products .product-description { padding:11px; }
 body:not(#index) .products .product-title a { font-size:13px; }
 body#product .product-container { margin-left:0; margin-right:0; }
 body#product .product-container > .col-md-6 { padding:0; }
 body#product .product-container > .col-md-6:last-child { padding:20px; margin-top:20px; }
 body#product .product-add-to-cart { padding:16px; }
 body#cms #content.page-cms,body#authentication #content,body#registration #content,body#password #content,body#contact #content { padding:22px; }
 body#cms #content.page-cms h2 { font-size:24px; }
}

body#checkout #header .logo { content:url("/themes/larofi_classic/assets/img/norsk-turpreg/laro-logo-transparent-v2.webp"); width:98px; height:60px; object-fit:contain; }

/* Newsletter: retain the module form and its consent controls. */
body#category .block-category {
 padding:0; border-top:0; overflow:hidden; border-radius:16px;
 --tur-category-photo:none;
}
body#category .block-category h1 {
 display:flex; gap:10px; align-items:flex-end; min-height:250px; margin:0;
 padding:32px 36px; color:#fffaf0; font-size:clamp(30px,3.5vw,44px);
 background-image:linear-gradient(90deg,rgba(15,34,26,.70),rgba(15,34,26,.10)),var(--tur-category-photo);
 background-color:#234437; background-position:center,center 48%; background-size:cover;
 text-shadow:0 2px 12px rgba(0,0,0,.4); overflow-wrap:anywhere;
}
body#category .block-category-inner { padding:28px 32px; }
body#category .block-category-inner:empty { display:none; }
body#category .block-category-inner[hidden] { display:none; }
body#category .block-category .category-cover { display:none; }
body#category .block-category.card.tur-exact-category h1 {
 display:grid; grid-template-columns:minmax(0,1fr) 160px; align-items:center;
 min-height:190px; gap:24px; background-image:linear-gradient(120deg,#203c31,#3f5a46);
}
body#category .tur-category-exact-image { width:160px; height:135px; object-fit:contain; padding:10px; background:#fff; border-radius:12px; }
@media(max-width:767px) {
 body#category .block-category.card.tur-exact-category h1 { grid-template-columns:minmax(0,1fr) 85px; gap:12px; min-height:135px; padding:18px; font-size:23px; }
 body#category .tur-category-exact-image { width:85px; height:78px; padding:5px; border-radius:8px; }
}
body#category #subcategories .subcategory-name { display:block; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.tur-mobile-label { display:none; }
.tur-category-navigation > summary,.tur-category-information > summary { display:none; }
@media(max-width:767px) {
 body#category #left-column { margin-bottom:14px; }
 body#category .tur-category-navigation { margin:0; border:1px solid var(--tur-line); border-radius:10px; background:#fff; }
 body#category .tur-category-navigation > summary,body#category .tur-category-information > summary {
  display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer;
  padding:14px 16px; font-size:14px; font-weight:600; color:var(--tur-green); list-style:none;
 }
 body#category details > summary::-webkit-details-marker { display:none; }
 body#category .tur-category-navigation > summary:after,body#category .tur-category-information > summary:after { content:"+"; font-size:22px; line-height:1; }
 body#category .tur-category-navigation[open] > summary:after,body#category .tur-category-information[open] > summary:after { content:"−"; }
 body#category .tur-category-navigation .block-categories { border:0; box-shadow:none; margin-bottom:0; }
 body#category .tur-category-navigation #search_filters_brands { padding:0 18px 18px; }
 body#category .block-category.card h1 { gap:0; min-height:135px; padding:20px; font-size:27px; flex-direction:column; align-items:flex-start; justify-content:flex-end; }
 body#category .block-category h1 .tur-category-years { font:600 21px/1.35 Arial,sans-serif; margin-top:5px; }
 body#category .tur-category-information { border-top:1px solid #e3e9df; }
 body#category .block-category-inner { padding:16px; }
 body#category .block-category .category-cover { display:none; }
 body#category #subcategories { padding:16px; margin-bottom:18px; }
 body#category #subcategories .subcategory-heading { font-size:21px; margin-bottom:14px; }
 body#category #subcategories ul { gap:8px; }
 body#category #subcategories ul li { padding:10px 8px; }
 body#category #subcategories .subcategory-image img { width:auto; max-width:100%; height:42px; object-fit:contain; }
 body#category #subcategories h5 { margin:8px 0 0; }
 body#category #subcategories .subcategory-name { font:600 14px/1.35 Arial,sans-serif; overflow-wrap:normal; }
 body#category #subcategories.tur-model-choices ul { grid-template-columns:minmax(0,1fr); }
 body#category #subcategories.tur-model-choices ul li { display:flex; align-items:center; gap:14px; padding:10px 12px; text-align:left; }
 body#category #subcategories.tur-model-choices .subcategory-image { flex:0 0 56px; }
 body#category #subcategories.tur-model-choices h5 { margin:0; flex:1; min-width:0; }
 body#category .tur-category-model,body#category .tur-category-years { display:block; }
 body#category #subcategories .tur-category-years { color:#234437; font-size:18px; font-weight:700; margin-top:3px; white-space:nowrap; }
 body#category .block-categories .tur-category-years { font-size:15px; font-weight:700; }
 .tur-desktop-label { display:none; }
 .tur-mobile-label { display:inline; }
}
@media(max-width:767px) {
 body#category .block-category { padding:0; }
 body#category .block-category h1 { min-height:210px; padding:24px 20px; font-size:30px; }
 body#category .block-category-inner { padding:22px 20px; }
}

#footer .block_newsletter {
 float:none; width:100%; max-width:1140px; margin:32px auto 40px;
 padding:42px 44px; background:radial-gradient(ellipse at 0 100%,rgba(106,139,101,.22),transparent 65%),#203c31;
 border:1px solid #345445; border-radius:20px;
 box-shadow:0 12px 32px rgba(32,59,48,.12);
}
#footer .block_newsletter > .row {
 display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr);
 gap:48px; margin:0; align-items:center;
}
#footer .block_newsletter > .row > * { float:none; width:auto; padding:0; min-width:0; }
#footer #block-newsletter-label {
 font-family:Georgia,serif; font-size:34px; line-height:1.17;
 font-weight:400; color:#fffaf0; margin:0; padding-top:0;
}
#footer #block-newsletter-label:before { content:""; display:block; width:40px; height:3px; margin-bottom:18px; background:#ceb78a; border-radius:2px; }
#footer .block_newsletter form .row { margin:0; }
#footer .block_newsletter form .col-xs-12 { padding:0; }
#footer .block_newsletter form .col-xs-12:first-child {
 display:flex; flex-wrap:wrap; gap:10px; align-items:stretch;
}
#footer .block_newsletter .input-wrapper { order:0; flex:1; min-width:0; overflow:visible; }
#footer .block_newsletter input[name="email"] {
 width:100%; min-width:0; height:50px; padding:12px 16px;
 border:1px solid #b8c8b8; border-radius:8px; background:#fff;
 color:#203b30; font-size:16px; box-shadow:none;
}
#footer .block_newsletter input[name="email"]:focus { outline:2px solid #56765d; outline-offset:2px; }
#footer .block_newsletter input[type="submit"] {
 order:1; float:none!important; height:50px; padding:0 24px;
 border-radius:8px; background:#ddc99f; border:1px solid #ddc99f;
 color:#203c31; font-weight:600; box-shadow:none;
}
#footer .block_newsletter input[type="submit"]:disabled { opacity:.75; }
#footer .block_newsletter input[type="submit"]:not(:disabled):hover { background:#f1dfb8; border-color:#f1dfb8; }
#footer .block_newsletter form .clearfix { display:none; }
#footer .block_newsletter form p { color:#c4d0c3; font-size:13px; line-height:1.6; margin:12px 0 14px; }
#footer .block_newsletter .gdpr_consent { margin:0; }
#footer .block_newsletter .psgdpr_consent_message {
 display:flex; gap:10px; align-items:flex-start; position:relative;
 color:#eef2e9; font-size:14px; line-height:1.5; margin:0;
}
#footer .block_newsletter .psgdpr_consent_message > span:first-of-type { flex:0 0 20px; margin:1px 0 0; background:#fff; border-color:#b8c8b8; border-radius:3px; }
#footer .block_newsletter .psgdpr_consent_message > span:last-of-type { flex:1; }
@media(max-width:767px) {
 #footer .block_newsletter { width:calc(100% - 24px); margin:24px auto 30px; padding:26px 20px; }
 #footer .block_newsletter > .row { grid-template-columns:minmax(0,1fr); gap:20px; }
 #footer #block-newsletter-label { font-size:28px; padding:0; }
 #footer #block-newsletter-label:before { margin-bottom:14px; }
 #footer .block_newsletter input[type="submit"] { padding:0 18px; }
}
/* Compact catalog header and navigation: show choices sooner. */
body#category .tur-category-information > summary {
 display:flex; align-items:center; justify-content:space-between; gap:12px;
 padding:12px 22px; cursor:pointer; list-style:none;
 font-size:14px; font-weight:600; color:var(--tur-green);
}
body#category .tur-category-information > summary::-webkit-details-marker { display:none; }
body#category .tur-category-information > summary:after { content:"+"; font-size:20px; line-height:1; }
body#category .tur-category-information[open] > summary:after { content:"−"; }
@media(min-width:768px) {
 body#category .block-category h1 { min-height:145px; padding:22px 28px; font-size:34px; }
 body#category .block-category.card.tur-exact-category h1 { min-height:145px; grid-template-columns:minmax(0,1fr) 115px; }
 body#category .tur-category-exact-image { width:115px; height:95px; padding:7px; }
 body#category #left-column .block-categories { padding:16px 14px; }
 body#category .block-categories .category-top-menu > li > .h6 { font-size:20px; margin-bottom:12px; }
 body#category .block-categories .category-sub-menu li { padding:2px 0; }
 body#category .block-categories .category-sub-menu a { font-size:13px; line-height:1.35; }
 body#category #subcategories { padding:18px 22px; margin-bottom:20px; }
 body#category #subcategories .subcategory-heading { font-size:23px; margin-bottom:16px; }
 body#category #subcategories ul li { padding:12px 10px; }
 body#category #subcategories .subcategory-image img { width:auto; max-width:100%; height:75px; object-fit:contain; }
 body#category #subcategories h5 { margin:10px 0 0; }
 body#category #subcategories .subcategory-name { font-size:16px; line-height:1.3; }
 body#category #subcategories .tur-category-model,body#category #subcategories .tur-category-years { display:block; }
 body#category #subcategories .tur-category-years { font:700 20px/1.4 Arial,sans-serif; margin-top:4px; }
}
/* Remove stock/sale ribbons throughout the catalog and product galleries. */
.product-flags .product-flag.out_of_stock,
.product-flags .product-flag.on-sale { display:none!important; }
.product-flags:not(:has(.product-flag:not(.out_of_stock):not(.on-sale))) { display:none!important; }
