a:link {
	color: #352F2F;
	text-decoration: underline;
}
a:visited {
	text-decoration: underline;
	color: #352F2F;
}
a:hover {
	text-decoration: none;
	color: #0E1A41;
}
a:active {
	text-decoration: underline;
}

/* Hide AddToAny vertical share bar when screen is less than 981 pixels wide */
@media screen and (max-width: 980px) {
    .a2a_floating_style.a2a_floating_style { display: none; }
}

.boat-page { background: transparent; }
  .boat-wrap {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 22px 24px 50px;
    box-sizing: border-box;
    background: rgba(255,255,255,.78);
    border-radius: 10px;
    box-shadow: 0 0 24px rgba(0,0,0,.08);
  }
  .boat-page .breadcrumb { margin: 0 0 18px; }
  .boat-page .breadcrumb ol {
    list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px;
  }
  .boat-page .breadcrumb li:not(:last-child)::after { content: ">"; margin-left: 8px; color: #666; }
  .boat-hero {
    display: grid;
    grid-template-columns: minmax(0,1.55fr) minmax(260px,.75fr);
    gap: 28px;
    align-items: center;
    padding: 28px;
    border: 1px dotted #b8b8b8;
    border-radius: 8px;
    background: rgba(255,255,255,.90);
  }
  .boat-hero h1 { margin: 0 0 12px; line-height: 1.15; }
  .boat-ingress { margin: 0 0 16px; font-size: 1.14rem; line-height: 1.65; }
  .boat-hero aside {
    padding: 20px;
    border-left: 4px solid #777;
    border-radius: 5px;
    background: rgba(245,245,245,.92);
  }
  .boat-hero aside h2 { margin: 0 0 10px; font-size: 1.2rem; }
  .boat-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 20px; }
  .boat-button {
    display: inline-flex; align-items: center; justify-content: center; min-height: 46px;
    padding: 11px 18px; border-radius: 6px; background: #5e5e5e;
    color: #fff !important; text-decoration: none !important; font-weight: 600;
  }
  .boat-button:hover { background: #454545; }
  .boat-button.secondary { background: #ececec; color: #222 !important; }
  .boat-section {
    margin-top: 28px;
    padding: 26px;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 8px;
    background: rgba(255,255,255,.90);
  }
  .boat-section > h2 { margin-top: 0; }
  .diagram-grid {
    display: grid;
    grid-template-columns: minmax(0,1.45fr) minmax(250px,.55fr);
    gap: 24px;
    align-items: start;
  }
  .diagram-frame {
    padding: 14px;
    border: 1px solid rgba(0,0,0,.09);
    border-radius: 8px;
    background: rgba(250,250,250,.96);
  }
  .diagram-frame img { width: 100%; height: auto; display: block; border-radius: 6px; }
  .diagram-note {
    padding: 18px;
    border-left: 4px solid #777;
    border-radius: 5px;
    background: rgba(245,245,245,.94);
  }
  .diagram-note h3 { margin-top: 0; }
  .diagram-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin-top: 16px; }
  .diagram-links a {
    display: block; padding: 10px 12px; border: 1px solid rgba(0,0,0,.10); border-radius: 6px;
    background: rgba(255,255,255,.96); color: #222 !important; text-decoration: none !important; font-weight: 600;
  }
  .diagram-links a:hover { background: #f0f0f0; }
  .group-intro { max-width: 900px; }
  .product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; margin-top: 20px; }
  .product-card {
    overflow: hidden; border: 1px solid rgba(0,0,0,.08); border-radius: 8px;
    background: rgba(255,255,255,.97); box-shadow: 0 1px 8px rgba(0,0,0,.05); text-align: center;
  }
  .product-card .card-inner {
    display: block; padding: 14px; color: #222 !important; text-decoration: none !important;
  }
  .product-card img {
    display: block; width: 100%; max-width: 240px; height: 170px; object-fit: contain; margin: 0 auto 12px;
  }
  .product-card h3 { margin: 0 0 6px; font-size: 1rem; line-height: 1.35; }
  .product-card p { margin: 0; font-size: .92rem; line-height: 1.45; color: #555; }
  .product-card .image-link {
    position: relative; display: block; padding: 14px 14px 6px; color: #222 !important; text-decoration: none !important;
  }
  .product-card .card-copy { padding: 6px 14px 16px; }
  .product-card .card-copy h3 a { display:inline; padding:0; color: #222 !important; text-decoration: none !important; }
  .product-card .card-copy h3 a:hover { text-decoration: underline !important; }
  .product-card .zoom-label {
    display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; padding: 5px 8px;
    border-radius: 4px; background: #ececec; color: #333; font-size: .82rem; font-weight: 600;
  }
  .fancybox-extra { display: none !important; }
  .table-wrap { overflow-x: auto; margin-top: 18px; }
  .boat-table { width: 100%; border-collapse: collapse; background: rgba(255,255,255,.96); }
  .boat-table th, .boat-table td { padding: 11px 12px; border: 1px solid #d3d3d3; text-align: left; vertical-align: middle; }
  .boat-table th { background: #e6e6e6; }
  .boat-table tr:nth-child(even) td { background: #f7f7f7; }
  .boat-table td.num { text-align: right; white-space: nowrap; }
  .pdf-link { white-space: nowrap; }
  .pdf-link i { margin-right: 6px; }
  .dring-layout {
    display: grid;
    grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr);
    gap: 22px;
    align-items: start;
  }
  .dring-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
  .dring-gallery .product-card img { height: 135px; }
  .note-box {
    margin-top: 18px; padding: 16px 18px; border-left: 4px solid #777;
    border-radius: 5px; background: rgba(245,245,245,.94);
  }
  .stock-strip {
    margin-top: 28px; padding: 18px 22px; text-align: center;
    border-radius: 8px; background: rgba(255,255,255,.88); border: 1px solid rgba(0,0,0,.08);
  }
  .cta-panel { text-align: center; }
  .cta-panel p { max-width: 760px; margin: 0 auto 18px; }
  #p7HMY_4 .hmy-content-wrapper { background: rgba(255,255,255,.84) !important; color: #222 !important; }
  #p7HMY_4 a { color: #222 !important; }
  .boat-page .p7HMY .hmy-content p:first-child,
  .boat-page .hmy-content p:first-child {
    font-family: inherit !important; font-size: inherit !important; text-align: inherit !important;
  }
  .language-tabs {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin: 0 0 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(0,0,0,.10);
  }
  .language-tab {
    appearance: none;
    min-width: 58px;
    padding: 9px 16px;
    border: 1px solid #aaa;
    border-radius: 6px;
    background: rgba(255,255,255,.94);
    color: #222;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
  }
  .language-tab:hover { background: #f0f0f0; }
  .language-tab.is-active {
    background: #555;
    border-color: #555;
    color: #fff;
  }
  .language-tab:focus-visible {
    outline: 3px solid rgba(30,90,160,.35);
    outline-offset: 2px;
  }
  @media (max-width: 980px) {
    .boat-hero, .diagram-grid, .dring-layout { grid-template-columns: 1fr; }
    .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  }
  @media (max-width: 680px) {
    .boat-wrap { width: calc(100% - 20px); padding: 18px 14px 34px; }
    .boat-hero, .boat-section { padding: 20px; }
    .product-grid, .dring-gallery, .diagram-links { grid-template-columns: 1fr; }
    .boat-table { min-width: 680px; }
  }


/* =========================================================
   MOBIL / RESPONSIV FORSTERKNING
   ========================================================= */

html {
  scroll-behavior: smooth;
}

.boat-page {
  width: 100%;
  min-width: 0;
  overflow-x: clip;
}

.boat-page *,
.boat-page *::before,
.boat-page *::after {
  box-sizing: border-box;
}

.boat-wrap,
.boat-hero > *,
.diagram-grid > *,
.dring-layout > *,
.product-grid > *,
.dring-gallery > * {
  min-width: 0;
}

.boat-wrap {
  max-width: 1180px;
}

.boat-page img {
  max-width: 100%;
  height: auto;
}

.es-forms-floating-button {
  display: none !important;
}

/* Sørg for at interne hopp lander pent */
#containerbeslag,
.boat-section[id] {
  scroll-margin-top: 18px;
}

@media screen and (max-width: 980px) {
  .a2a_floating_style.a2a_floating_style {
    display: none !important;
  }
}

@media screen and (max-width: 680px) {
  /* Bakgrunnsrotatoren gir ingen nytte på smal mobil og kan skape
     unødvendig bredde/ytelsesproblemer. */
  #p7BRM_1 {
    display: none !important;
  }

  .boat-wrap {
    width: calc(100% - 14px) !important;
    margin: 0 auto;
    padding: 14px 10px 28px !important;
    border-radius: 7px;
  }

  .language-tabs {
    justify-content: flex-start;
    margin-bottom: 14px;
  }

  .language-tab {
    min-width: 52px;
    padding: 8px 13px;
  }

  .boat-page .breadcrumb {
    font-size: .82rem;
    margin-bottom: 15px;
  }

  .boat-page .breadcrumb ol {
    gap: 5px 7px;
  }

  .boat-hero,
  .boat-section {
    width: 100%;
    max-width: 100%;
    padding: 16px 13px !important;
  }

  .boat-hero {
    gap: 18px;
  }

  .boat-hero h1 {
    font-size: clamp(1.65rem, 8vw, 2.1rem);
    overflow-wrap: anywhere;
  }

  .boat-ingress {
    font-size: 1rem;
    line-height: 1.55;
  }

  .boat-hero aside,
  .diagram-note,
  .note-box {
    padding: 14px;
  }

  .boat-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .boat-actions > *,
  .boat-actions .kontaktboks-wrapper,
  .boat-actions .btn-kontakt,
  .boat-button {
    width: 100%;
    max-width: 100%;
  }

  .diagram-frame {
    padding: 7px;
    overflow: hidden;
  }

  .diagram-frame img {
    width: 100%;
    max-width: 100%;
  }

  .diagram-links {
    grid-template-columns: 1fr !important;
  }

  .product-grid,
  .dring-gallery {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }

  .product-card img,
  .dring-gallery .product-card img {
    height: 145px;
    max-width: 210px;
  }

  /*
    Mobil-tabeller som kort i stedet for en 680px bred tabell.
    Dermed unngår siden horisontal scrolling i portrett.
  */
  .table-wrap {
    width: 100%;
    overflow: visible;
  }

  .boat-table {
    min-width: 0 !important;
    width: 100%;
    background: transparent;
  }

  .boat-table thead {
    display: none;
  }

  .boat-table,
  .boat-table tbody,
  .boat-table tr,
  .boat-table td {
    display: block;
    width: 100%;
  }

  .boat-table tr {
    margin: 0 0 11px;
    padding: 8px 9px;
    border: 1px solid #d7dadd;
    border-radius: 6px;
    background: #fff;
  }

  .boat-table tr:last-child {
    margin-bottom: 0;
  }

  .boat-table td,
  .boat-table tr:nth-child(even) td {
    display: grid;
    grid-template-columns: minmax(98px, 39%) minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 5px 4px;
    border: 0;
    background: transparent;
    text-align: left;
    overflow-wrap: anywhere;
  }

  .boat-table td::before {
    content: attr(data-label);
    font-weight: 700;
    color: #555;
  }

  .boat-table td.num {
    text-align: left;
    white-space: normal;
  }

  .pdf-link {
    white-space: normal;
  }

  .dring-layout {
    grid-template-columns: 1fr !important;
  }

  .stock-strip {
    margin-top: 20px;
    padding: 14px;
  }

  .cta-panel {
    text-align: left;
  }
}

@media screen and (max-width: 420px) {
  .boat-wrap {
    width: calc(100% - 8px) !important;
    padding: 11px 8px 24px !important;
  }

  .boat-hero,
  .boat-section {
    padding: 14px 10px !important;
  }

  .boat-table td,
  .boat-table tr:nth-child(even) td {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 7px;
    font-size: .9rem;
  }

  .product-card .image-link,
  .product-card .card-inner {
    padding-left: 9px;
    padding-right: 9px;
  }

  .product-card .card-copy {
    padding: 5px 10px 13px;
  }
}
