/* site-chrome 202608082420 */
/* ===== PC sticky header ===== */
@media (min-width: 992px) {
  .header.header--sticky-ready {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    background: #fff;
    transition: transform 0.28s ease, box-shadow 0.28s ease;
    will-change: transform;
  }
  .header.header--sticky-ready.header--scrolled {
    box-shadow: 0 8px 28px rgba(4, 28, 40, 0.08);
  }
  .header.header--sticky-ready.header--hidden {
    transform: translateY(-110%);
  }

  .header__address {
    display: none !important;
  }

  .header__main {
    min-height: 6.4rem;
    padding: 0 2.4rem !important;
    align-items: stretch !important;
    column-gap: 1.6rem;
    border-bottom: 1px solid rgba(27, 27, 27, 0.1);
  }
  .header__primary {
    column-gap: 1.6rem !important;
    align-items: stretch !important;
    flex: 1 1 auto;
    min-width: 0;
  }
  .header__secondary {
    column-gap: 1.6rem !important;
    align-items: stretch !important;
    flex-shrink: 0;
  }
  .header__logo {
    width: 7.2rem !important;
    align-self: center;
    flex-shrink: 0;
  }

  /* Exactly 2 lines, only as wide as needed */
  .header__slogan {
    padding-right: 0 !important;
    font-size: 1.2rem !important;
    line-height: 1.35 !important;
    color: rgba(27, 27, 27, 0.45) !important;
    max-width: none !important;
    width: max-content !important;
    white-space: nowrap !important;
    align-self: center;
    flex-shrink: 0;
  }

  /* Cameras right after slogan, full height to menu divider */
  .header__button {
    display: flex !important;
    align-items: stretch;
    align-self: stretch;
    width: auto !important;
    margin: 0 !important;
    flex-shrink: 0;
  }
  .header__button .btn-border,
  .header__button > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    height: calc(100% + 1px) !important;
    min-height: calc(100% + 1px) !important;
    width: auto !important;
    min-width: 18rem;
    margin: 0 0 -1px 0 !important;
    border-radius: 0 !important;
    border: 1px solid #007cab !important;
    box-shadow: none;
    padding: 0 2rem !important;
    background: #fff;
    position: relative;
    z-index: 2;
  }

  .header__book {
    display: flex !important;
    align-items: stretch;
    align-self: stretch;
    width: auto !important;
    margin: 0 !important;
    flex-shrink: 0;
  }
  .header__book .btn-border,
  .header__book > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: calc(100% + 1px) !important;
    min-height: calc(100% + 1px) !important;
    min-width: 16rem;
    margin: 0 0 -1px 0 !important;
    border-radius: 0 !important;
    border: 1px solid #007cab !important;
    box-shadow: none;
    padding: 0 2rem !important;
    background: #fff;
    position: relative;
    z-index: 2;
  }

  .header__weather {
    padding: 0 2rem !important;
    margin: 0;
    display: flex;
    align-items: center;
    align-self: stretch;
    flex-shrink: 0;
    border: none !important;
  }
  .header__weather .weather {
    display: flex !important;
    align-items: center;
    column-gap: 1rem;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    color: #1b1b1b;
    white-space: nowrap;
  }
  .header__weather .weather__icon {
    width: 3.6rem !important;
    height: 3.6rem !important;
    flex-shrink: 0;
    display: block !important;
  }
  .header__weather .weather__icon img,
  .header__weather .weather__icon svg {
    width: 100% !important;
    height: 100% !important;
    display: block;
    object-fit: contain;
  }
  .header__weather .weather__value {
    font-size: 2rem !important;
    line-height: 1 !important;
    font-weight: 600;
    color: #1b1b1b !important;
    margin: 0;
  }
  .header__weather .weather__content {
    display: flex;
    flex-direction: column;
    row-gap: 0.2rem;
    justify-content: center;
  }
  .header__weather .weather__status {
    font-size: 1.4rem !important;
    line-height: 1.1 !important;
    color: #1b1b1b;
    font-weight: 500;
  }
  .header__weather .weather__wind {
    font-size: 1.2rem !important;
    line-height: 1.1 !important;
    opacity: 0.5;
  }

  .header__phone {
    font-size: 1.9rem !important;
    line-height: 1.2 !important;
    align-self: center;
    white-space: nowrap;
  }
  .header__contacts,
  .header__lng {
    align-self: center;
  }
  .header__contacts {
    column-gap: 0.6rem !important;
  }

/* Cameras + Book: scale only inner label, frame size stays */
  .header__button .btn-border,
  .header__button > a,
  .header__book .btn-border,
  .header__book > a {
    transform: none !important;
  }
  .header__button .btn-border i,
  .header__button .btn-border span,
  .header__button > a i,
  .header__button > a span {
    display: inline-flex;
    align-items: center;
    transition: transform 0.18s ease;
    transform-origin: center center;
  }
  .header__book .btn-border,
  .header__book > a {
    transition: color 0.18s ease, background-color 0.18s ease !important;
    font-size: 1.6rem !important;
  }
  .header__button .btn-border:hover,
  .header__button > a:hover,
  .header__book .btn-border:hover,
  .header__book > a:hover,
  .header__button .btn-border:focus,
  .header__button > a:focus,
  .header__book .btn-border:focus,
  .header__book > a:focus,
  .header__button .btn-border:active,
  .header__button > a:active,
  .header__book .btn-border:active,
  .header__book > a:active {
    fill: #007cab !important;
    color: #007cab !important;
    background-color: #fff !important;
    background: #fff !important;
    text-decoration: none !important;
    transform: none !important;
  }
  .header__button .btn-border:hover i,
  .header__button .btn-border:hover span,
  .header__button > a:hover i,
  .header__button > a:hover span,
  .header__button .btn-border:focus i,
  .header__button .btn-border:focus span,
  .header__button > a:focus i,
  .header__button > a:focus span {
    transform: scale(1.06);
    fill: #007cab !important;
    color: #007cab !important;
  }

  /* Weather: no frame / no boxed separators */
  .header__weather {
    border-left: none !important;
    border-right: none !important;
    border: none !important;
    background: transparent !important;
    padding-left: 0.8rem !important;
    padding-right: 0.8rem !important;
  }
  .header__weather .weather {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }


  .header__menu {
    border-left: 1px solid rgba(27, 27, 27, 0.1);
    border-right: 1px solid rgba(27, 27, 27, 0.1);
  }
  /* cameras must NOT sit in menu */
  .header__menu > .header__button {
    display: none !important;
  }
}

@media (max-width: 991.97px) {
  .header__address { display: none !important; }
  .header__book { display: none !important; }
  .header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: #fff;
    transform: none !important;
  }
  .header.header--hidden { transform: none !important; }
}

.cookie-banner {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 10050;
  background: #0b3a4a; color: #fff; padding: 1.2rem 1.6rem;
  box-shadow: 0 -6px 24px rgba(0,0,0,.18);
}
.cookie-banner__inner {
  max-width: 120rem; margin: 0 auto; display: flex; gap: 1.6rem;
  align-items: center; justify-content: space-between; flex-wrap: wrap;
}
.cookie-banner__text { font-size: 1.4rem; line-height: 1.35; flex: 1 1 40rem; }
.cookie-banner__text a { color: #fff; text-decoration: underline; }
.cookie-banner__btn {
  appearance: none; border: 0; background: #078ab4; color: #fff;
  border-radius: 999px; padding: 1rem 2.2rem; font-size: 1.4rem;
  font-weight: 700; cursor: pointer;
}
.cameras-modal {
  position: fixed; inset: 0; z-index: 10060; background: rgba(8, 24, 32, 0.55);
  display: flex; align-items: center; justify-content: center; padding: 2rem;
}
.cameras-modal[hidden] { display: none !important; }
.cameras-modal__dialog {
  background: #fff; border-radius: 1.6rem; padding: 2.4rem;
  width: min(42rem, 100%); position: relative;
}
.cameras-modal__dialog h3 { margin: 0 0 1.6rem; font-size: 2rem; }
.cameras-modal__close {
  position: absolute; top: 0.8rem; right: 1rem; border: 0;
  background: transparent; font-size: 2.4rem; cursor: pointer; line-height: 1;
}
.cameras-modal__list { display: grid; gap: 1rem; }
.cameras-modal__list a {
  display: block; padding: 1.2rem 1.4rem; border-radius: 1rem;
  background: #f3f7f9; color: #0b3a4a; text-decoration: none; font-weight: 600;
}
.cameras-modal__list a:hover { background: #e5f3f8; }

html { height: 100%; }
body { min-height: 100%; }
.root { min-height: 100vh; display: flex; flex-direction: column; }
.root > .main { flex: 1 0 auto; }
.root > .footer { flex-shrink: 0; margin-top: auto; }
.reviews .review-item__text { opacity: 1 !important; }






/* footer contacts modest 202608090245 */
.footer__contacts{row-gap:1.8rem!important;justify-content:flex-start!important}
.footer__contacts-item{margin:0!important}


/* ===== mobile tap highlight 202608091620 ===== */
@media (max-width: 991.97px) {
  html, body, *, *::before, *::after {
    -webkit-tap-highlight-color: transparent !important;
  }
  a, button, input, textarea, select, label, summary, [role="button"], [onclick] {
    -webkit-tap-highlight-color: transparent !important;
  }
}

/* Cookie banner one row on mobile */
@media (max-width: 991.97px) {
  .cookie-banner {
    padding: 1rem 1.2rem !important;
  }
  .cookie-banner__inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
  }
  .cookie-banner__text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    font-size: 1.15rem !important;
    line-height: 1.25 !important;
  }
  .cookie-banner__btn {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    padding: 0.85rem 1.4rem !important;
    font-size: 1.2rem !important;
  }
}

@media (max-width: 991.97px) {
  .cookie-banner__text { white-space: normal !important; }
  .cookie-banner__text a { display: inline !important; }
}

/* ===== scroll unlock 202608093310: site-wide mobile page scroll ===== */
@media (max-width: 991.97px) {
  html {
    height: auto !important;
    max-height: none !important;
    overflow-x: clip !important;
    overflow-y: scroll !important;
    position: static !important;
    overscroll-behavior-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y pinch-zoom !important;
  }
  body {
    height: auto !important;
    max-height: none !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
    position: static !important;
    overscroll-behavior-y: auto !important;
    touch-action: pan-y pinch-zoom !important;
  }
  .root,
  .wrapper,
  .page,
  main {
    height: auto !important;
    max-height: none !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
    touch-action: auto !important;
  }
  /* Closed mobile drawer must never steal touches (child pe:auto beats parent:none) */
  body:not(.nav-open) .mobile-nav-layout,
  body:not(.nav-open) .mobile-nav {
    pointer-events: none !important;
  }
  body.nav-open .mobile-nav-layout,
  body.nav-open .mobile-nav {
    pointer-events: auto !important;
  }
  /* Horizontal swipers: let browser keep vertical page scroll */
  .swiper,
  .swiper-wrapper,
  .swiper-slide {
    touch-action: pan-y pinch-zoom !important;
  }
}

/* ===== polish48pc: restore woman up + boat original; footer rings ===== */
.comments__touch { display: none !important; }

@media (min-width: 992px) {
  /* REMOVE previous boat translate — back to original app.css position */
  body.service-page.service-page--service .booking__media img,
  body.service-page.service-page--service .booking__media .img-cover {
    transform: none !important;
    object-position: center center !important;
  }

  /* Woman higher — match gastro-like vertical placement */
  body.service-page.service-page--service .video-tour__media {
    transform: translateX(-50%) translateY(-8%) !important;
    bottom: 0 !important;
  }
  body.service-page.service-page--service .video-tour__image img,
  body.service-page.service-page--service .video-tour__image .img-cover {
    object-fit: contain !important;
    object-position: center bottom !important;
  }

  /* Footer social: grey fill + white outline (PC + all breakpoints via this file) */
  body.service-page.service-page--service .footer .btn-social,
  body.service-page.service-page--service .footer .btn-social--white {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border: 0.1rem solid #ffffff !important;
    border-radius: 50% !important;
    fill: #ffffff !important;
    color: #ffffff !important;
  }
  body.service-page.service-page--service .footer .btn-social svg,
  body.service-page.service-page--service .footer .btn-social--white svg {
    fill: #ffffff !important;
  }
}
/* also apply footer rings on mobile via site-chrome (not only service-mobile) */
@media (max-width: 991.97px) {
  body.service-page.service-page--service .footer .btn-social,
  body.service-page.service-page--service .footer .btn-social--white {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border: 0.1rem solid #ffffff !important;
    border-radius: 50% !important;
    fill: #ffffff !important;
    color: #ffffff !important;
  }
  body.service-page.service-page--service .footer .btn-social svg,
  body.service-page.service-page--service .footer .btn-social--white svg {
    fill: #ffffff !important;
  }
}
/* ===== END polish48pc ===== */

/* ===== polish49pc: woman/boat/footer ===== */
.comments__touch { display: none !important; }

@media (min-width: 992px) {
  /* Boat: kill right nudge from polish47pc — sit left/original */
  body.service-page.service-page--service .booking__media img,
  body.service-page.service-page--service .booking__media .img-cover,
  body.service-page.service-page--service .booking .booking__media img {
    transform: translateX(8%) !important;
    object-position: 52% center !important;
  }

  /* Woman higher toward original gastro placement */
  body.service-page.service-page--service .video-tour__media {
    transform: translateX(-50%) translateY(-7%) !important;
    bottom: 0 !important;
  }
  body.service-page.service-page--service .video-tour__image img,
  body.service-page.service-page--service .video-tour__image .img-cover {
    object-fit: contain !important;
    object-position: center bottom !important;
  }
}

/* Footer social ALL breakpoints: grey fill + white ring (never solid white) */
body.service-page.service-page--service .footer .btn-social,
body.service-page.service-page--service .footer .btn-social--white {
  background-color: rgba(255, 255, 255, 0.08) !important;
  background-image: none !important;
  border: 0.1rem solid #ffffff !important;
  border-radius: 50% !important;
  fill: #ffffff !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
body.service-page.service-page--service .footer .btn-social svg,
body.service-page.service-page--service .footer .btn-social--white svg,
body.service-page.service-page--service .footer .btn-social .ico-svg,
body.service-page.service-page--service .footer .btn-social--white .ico-svg,
body.service-page.service-page--service .footer .btn-social use,
body.service-page.service-page--service .footer .btn-social--white use {
  fill: #ffffff !important;
  color: #ffffff !important;
}
body.service-page.service-page--service .footer .btn-social img,
body.service-page.service-page--service .footer .btn-social--white img {
  filter: none !important;
  opacity: 1 !important;
}
/* ===== END polish49pc ===== */

/* ===== all-services desktop footer social ===== */
@media (min-width: 992px) {
  body.service-page .footer .btn-social,
  body.service-page .footer .btn-social--white {
    background-color: rgba(255, 255, 255, 0.08) !important;
    background-image: none !important;
    border: 0.1rem solid #fff !important;
    border-radius: 50% !important;
    fill: #fff !important;
    color: #fff !important;
    box-shadow: none !important;
  }
  body.service-page .footer .btn-social svg,
  body.service-page .footer .btn-social--white svg,
  body.service-page .footer .btn-social use,
  body.service-page .footer .btn-social--white use {
    fill: #fff !important;
    color: #fff !important;
  }
}
/* ===== END all-services desktop footer social ===== */


/* ===== sea-fishing desktop parity with approved sea-cruise booking/video composition ===== */
@media (min-width: 992px) {
  body.service-page.service-page--sea-fishing .booking__media img,
  body.service-page.service-page--sea-fishing .booking__media .img-cover,
  body.service-page.service-page--sea-fishing .booking .booking__media img {
    transform: translateX(8%) !important;
    object-position: 52% center !important;
  }
  body.service-page.service-page--sea-fishing .video-tour__media {
    transform: translateX(-50%) translateY(-7%) !important;
    bottom: 0 !important;
  }
  body.service-page.service-page--sea-fishing .video-tour__image img,
  body.service-page.service-page--sea-fishing .video-tour__image .img-cover {
    object-fit: contain !important;
    object-position: center bottom !important;
  }
}


/* ===== parity 2026-08-10 sea-cruise copy ===== */
@media (min-width: 992px) {
  /* Breadcrumbs a bit larger, as on the mockup */

  /* Woman a bit lower so she fits fully */
  body.service-page.service-page--service .video-tour__media,
  body.service-page.service-page--sea-fishing .video-tour__media {
    transform: translateX(-50%) translateY(2%) !important;
    bottom: 0 !important;
  }
  body.service-page.service-page--service .video-tour__image img,
  body.service-page.service-page--service .video-tour__image .img-cover,
  body.service-page.service-page--sea-fishing .video-tour__image img,
  body.service-page.service-page--sea-fishing .video-tour__image .img-cover {
    object-fit: contain !important;
    object-position: center bottom !important;
  }

  /* Freight note: readable two-line wrap, not mini one-liner */
  body.service-page.service-page--sea-fishing .pricing-item--freight .pricing-item__note {
    font-size: 1.7rem !important;
    line-height: 1.25 !important;
    min-height: 4.4rem !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    white-space: normal !important;
  }
}


/* ===== parity 2026-08-10 crumbs+freight+hero for ALL services ===== */
@media (min-width: 992px) {
  body.service-page.service-page--sea-fishing .pricing-item--freight .pricing-item__note {
    font-size: 16px !important;
    line-height: 1.25 !important;
    min-height: 4.6rem !important;
    max-width: none !important;
  }
  body.service-page.service-page--sea-fishing .pricing-item--freight .pricing-item__title {
    font-size: 2.4rem !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }
}

/* parity5 freight note — superseded by fix9, keep woman marker */
/* fix9 freight note */
@media (min-width: 992px) {
  body.service-page.service-page--sea-fishing .pricing-item--freight .pricing-item__note,
  body.service-page--sea-fishing .pricing-item--freight .pricing-item__note {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0.35rem auto 0 !important;
    padding: 0 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
}
/* parity5 woman lower */
@media (min-width: 992px) {
  body.service-page--sea-fishing .video-tour__media,
  .video-tour:has([src*="/figma/sea-fishing/video_woman"]) .video-tour__media {
    transform: translateY(8%) !important;
  }
  body.service-page--sea-fishing .video-tour__image img,
  .video-tour:has([src*="/figma/sea-fishing/video_woman"]) .video-tour__image img {
    object-position: center 30% !important;
  }
}

/* parity7 pc breadcrumbs ? superseded by service-gallery 20260810crumbsPC1 */
/* Service hero breadcrumbs PC all pages ? sea-fishing reference 20260810crumbsPC2 */
@media (min-width: 992px) {
  html body.service-page .hero-section__breadcrumbs .breadcrumb,
  html body.service-page .hero-section__breadcrumbs .breadcrumb__link,
  html body.service-page .hero-section__breadcrumbs .breadcrumb__active,
  html body.service-page .hero-section__breadcrumbs .breadcrumb__item {
    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 500 !important;
  }
  html body.service-page .hero-section__breadcrumbs .breadcrumb__link {
    color: #545454 !important;
  }
  html body.service-page .hero-section__breadcrumbs .breadcrumb__active {
    color: #9AA4AA !important;
  }
  html body.service-page .hero-section__breadcrumbs .breadcrumb__item:not(:last-child)::after {
    color: #B8C2C8 !important;
  }
}
