/**
 * GiG Sleep — layout overrides (loads last, after SiteOrigin footer CSS)
 */

/* ── Language menu (WPML labels were inside .screen-reader-text → hidden) ── */
.header-top #menu-menulang.social-menu .screen-reader-text {
  position: static;
  clip: auto;
  clip-path: none;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
}

.header-top #menu-menulang.social-menu li a {
  width: auto;
  height: auto;
  line-height: 1.4;
  border-radius: 0;
  background: transparent;
  padding: 0 10px;
  font-family: inherit;
  display: inline-block;
}

.header-top #menu-menulang.social-menu .wpml-ls-native {
  display: inline;
}

/* ── Page shell: gray gutters, 1200px content column ── */
body.siteorigin-panels {
  background: #333;
}

body.siteorigin-panels #content {
  background: transparent;
  padding: 0;
}

body.siteorigin-panels #content > .tg-container {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  overflow: visible;
}

body.siteorigin-panels .pagebuilder-content #primary,
body.siteorigin-panels .pagebuilder-content #main,
body.siteorigin-panels .pagebuilder-content .panel-layout {
  width: 100%;
  max-width: 100%;
  float: none;
  margin: 0;
  padding: 0;
}

/* Full-bleed rows (hero, amenities bg, pack tiles) — EN home #5391 / PT home #344 */
.home :is(#pg-5391-0, #pg-344-0, #pg-5391-2, #pg-344-2, #pg-5391-4, #pg-344-4) {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.home :is(#pg-5391-0, #pg-344-0, #pg-5391-2, #pg-344-2, #pg-5391-4, #pg-344-4) > .panel-row-style {
  width: 100%;
}

/* Contained rows */
.home :is(#pg-5391-1, #pg-344-1, #pg-5391-3, #pg-344-3) {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* ── Hero ── */
.home :is(#pg-5391-0, #pg-344-0) > .panel-row-style {
  min-height: 100vh;
  background-size: cover;
  background-position: center;
}

.home :is(#pg-w5ac23ce327ce7-0, #pg-w5ac36b0f7b2f7-0) > .panel-row-style {
  min-height: 88vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home
  :is(#pgc-5391-0-0, #pgc-344-0-0, #pgc-w5ac23ce327ce7-0-0, #pgc-w5ac36b0f7b2f7-0-0),
.home :is(#panel-5391-0-0-0, #panel-344-0-0-0) > .panel-widget-style {
  width: 100%;
  max-width: none;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.home .header-logo.panel-widget-style,
.home :is(#panel-w5ac23ce327ce7-0-0-0, #panel-w5ac36b0f7b2f7-0-0-0) > .panel-widget-style {
  max-width: 100vh;
  width: 100%;
}

.home .header-logo img {
  max-width: 100%;
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
}

body.siteorigin-panels .darken-background::after {
  background: rgba(0, 0, 0, 0.45);
}

/* Inner pages only: hero GiG logo scaled to 75% of full width (~25% area reduction; not .home) */
body:not(.home).siteorigin-panels #content [id$="-0-0-0"] > .panel-widget-style > img {
  width: 75% !important;
  max-width: 75% !important;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

/* ── About Us — frame drawn with backgrounds (pixel-perfect corners) ── */
.home :is(#pg-5391-1, #pg-344-1) > .panel-row-style {
  background: #fff;
  padding: 60px 0;
}

.home :is(#panel-5391-1-0-0, #panel-344-1-0-0) > .panel-widget-style {
  --frame: 8px;
  position: relative;
  width: 100%;
  max-width: none;
  margin: 32px 0 0;
  padding: 52px 60px 24px;
  box-sizing: border-box;
  text-align: center;
  border: none;
  border-right: var(--frame) solid #000;
  /* Top bars 40% each (20% center gap) — matches original wp-custom-css */
  background:
    linear-gradient(#000, #000) left top / 40% var(--frame) no-repeat,
    linear-gradient(#000, #000) right top / 40% var(--frame) no-repeat,
    linear-gradient(#000, #000) left top / var(--frame) 100% no-repeat,
    linear-gradient(#000, #000) left bottom / 100% var(--frame) no-repeat;
}

.home :is(#panel-5391-1-0-0, #panel-344-1-0-0) > .panel-widget-style h3.widget-title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0 75px;
  font-size: 45px;
  line-height: 1;
  background: #fff;
  z-index: 2;
  white-space: nowrap;
  width: auto;
  display: block;
  color: #111;
}

.home
  :is(#panel-5391-1-0-0, #panel-344-1-0-0)
  > .panel-widget-style
  h3.widget-title::before,
.home
  :is(#panel-5391-1-0-0, #panel-344-1-0-0)
  > .panel-widget-style
  h3.widget-title::after {
  display: none;
  content: none;
}

.home :is(#panel-5391-1-0-0, #panel-344-1-0-0) > .panel-widget-style .textwidget {
  border: none;
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 15px;
  line-height: 1.65;
  color: #111;
}

/* Bed photo */
.home :is(#panel-5391-1-0-1, #panel-344-1-0-1) > .panel-widget-style {
  padding: 70px 0 30px;
}

.home .about-us .sow-slider-base {
  display: block !important;
  visibility: visible;
  max-width: none;
  margin: 0 auto;
}

.home .about-us .sow-slider-foreground-image {
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
}

/* ── Amenities: beach photo + white icon frame ── */
.home :is(#pg-5391-2, #pg-344-2) > .panel-row-style {
  position: relative;
  overflow: hidden;
  padding: 70px 0 90px;
  background-color: #1a2e3d;
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
    url("../../uploads/2018/04/praia1.jpg");
  background-size: cover;
  background-position: center;
}

.home :is(#pg-5391-2, #pg-344-2) > .panel-row-style.darken-background::after {
  display: none;
}

.home :is(#pg-5391-2, #pg-344-2) img[data-siteorigin-parallax] {
  display: none;
}

.home .useful-info {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  position: relative;
  z-index: 2;
}

.home :is(#pg-w62aa10da806dd-0, #pg-w62aa10faddcf4-0) > .panel-row-style {
  --frame: 8px;
  /* row coords: widget icon pad (85) + h3 pull (-50) + line offset (50) */
  --line-top-row: calc(45px - 50px + 50px - var(--frame) / 2);
  padding: 0 20px;
  border: none;
  border-bottom: var(--frame) solid #fff;
  margin-top: 50px;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  background:
    linear-gradient(#fff, #fff) left var(--line-top-row) / var(--frame) calc(100% - var(--line-top-row)) no-repeat,
    linear-gradient(#fff, #fff) right var(--line-top-row) / var(--frame) calc(100% - var(--line-top-row)) no-repeat;
}

.home .useful-info h3.widget-title {
  position: relative;
  color: #fff;
  font-size: 33px;
  letter-spacing: -2px;
  text-align: center;
  padding: 120px 0 20px;
  margin-top: -50px;
}

.useful-info .panel-widget-style {
  padding-top: 45px;
  background-size: auto 72px !important;
}

.home .useful-info h3.widget-title::before,
.home .useful-info h3.widget-title::after {
  content: "";
  display: block;
  background: #fff;
  position: absolute;
  top: calc(50px - var(--frame) / 2);
  height: var(--frame);
  width: 28%;
}

.home .useful-info h3.widget-title::before {
  left: -20px;
}

.home .useful-info h3.widget-title::after {
  right: -20px;
}

.home .useful-info .textwidget {
  color: rgba(255, 255, 255, 0.92);
  font-size: 15px;
  line-height: 1.5;
  text-align: center;
  padding: 0 10px 20px;
}

/* ── Explore packs heading ── */
.home :is(#pg-5391-3, #pg-344-3) > .panel-row-style {
  background: #fff;
  padding: 48px 0 8px;
}

.home .menu-separator {
  text-align: center;
}

.home :is(#panel-5391-3-0-0, #panel-344-3-0-0) > .panel-widget-style {
  padding: 50px 0 0;
  letter-spacing: 8px;
}

.home .menu-separator .section-title {
  display: inline-block;
  font-size: 50px;
  font-weight: 300;
  letter-spacing: inherit;
  margin: 0;
  padding: 0;
  position: relative;
  color: #313b48;
}

.home .menu-separator h3.section-title::before,
.home .menu-separator h3.section-title::after {
  content: "";
  display: inline-block;
  position: static;
  width: 20px;
  height: 4px;
  background: #000;
  vertical-align: middle;
  bottom: auto;
  left: auto;
  right: auto;
  margin: 0 20px;
  transform: none;
}

/* ── Pack tiles (home, Activities/Pacotes listing, package detail pages) ── */
body.siteorigin-panels
  .panel-grid-cell:has(> .menu-buttons.darken-background.panel-cell-style) {
  padding: 0;
  min-width: 0; /* flex: allow shrink; stops link box spilling into siblings */
}

body.siteorigin-panels .panel-grid-cell > .menu-buttons.darken-background.panel-cell-style {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  overflow: hidden;
  min-height: 330px;
  background-size: cover;
  background-position: center;
}

body.siteorigin-panels
  .panel-grid-cell
  > .menu-buttons.darken-background.panel-cell-style
  .so-panel.widget {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
}

body.siteorigin-panels
  .panel-grid-cell
  > .menu-buttons.darken-background.panel-cell-style
  .panel-widget-style {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  height: auto;
}

body.siteorigin-panels
  .panel-grid-cell
  > .menu-buttons.darken-background.panel-cell-style
  .textwidget.custom-html-widget {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
}

body.siteorigin-panels .menu-buttons a {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 330px;
  margin: 0;
  padding: 0;
  color: #fff;
  text-decoration: none;
}

body.siteorigin-panels .menu-buttons .menu-button-header {
  font-size: 50px;
  font-weight: 700;
  margin: 0;
}

/* Pack tiles: uniform zoom (scale) — vars filled by pack-tile-zoom.js */
body.siteorigin-panels .menu-buttons.panel-cell-style.pack-tile-zoom {
  position: relative;
  background-image: none !important;
  overflow: hidden;
  border-radius: 0;
}

body.siteorigin-panels .menu-buttons.panel-cell-style.pack-tile-zoom::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--pack-bg-image);
  background-position: var(--pack-bg-position, center);
  background-size: var(--pack-bg-size, cover);
  background-repeat: var(--pack-bg-repeat, no-repeat);
  transform: scale(1);
  transform-origin: center center;
  transition: transform 0.65s cubic-bezier(0.33, 1, 0.68, 1);
  z-index: 0;
  pointer-events: none;
  backface-visibility: hidden;
}

body.siteorigin-panels .menu-buttons.panel-cell-style.pack-tile-zoom > .so-panel.widget {
  position: relative;
  z-index: 1;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  body.siteorigin-panels .menu-buttons.panel-cell-style.pack-tile-zoom:hover::before,
  body.siteorigin-panels .menu-buttons.panel-cell-style.pack-tile-zoom:focus-within::before {
    transform: scale(1.09);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.siteorigin-panels .menu-buttons.panel-cell-style.pack-tile-zoom::before {
    transition: none;
  }
}

/* Pack tile row: spacing below strip */
body.siteorigin-panels .panel-grid:has(.menu-buttons.darken-background.panel-cell-style) {
  margin-bottom: 32px;
}

:is(body.page-id-5395 #pg-5395-2, body.page-id-3934 #pg-3934-2) {
  margin-bottom: 32px;
}

body.page-id-5363 #content,
body.page-id-3548 #content,
body.page-id-5395 #content,
body.page-id-3934 #content,
body.parent-pageid-5363 #content,
body.parent-pageid-3548 #content,
.home #content {
  display: flow-root;
  padding-bottom: 8px;
}

/* Package detail pages: full-bleed hero + tiles, content width like Activities listing */
body.siteorigin-panels.parent-pageid-5363
  .panel-layout
  > .panel-grid:has(.siteorigin-panels-stretch.panel-row-style[data-stretch-type="full-stretched"]),
body.siteorigin-panels.parent-pageid-3548
  .panel-layout
  > .panel-grid:has(.siteorigin-panels-stretch.panel-row-style[data-stretch-type="full-stretched"]) {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

body.siteorigin-panels.parent-pageid-5363
  .panel-layout
  > .panel-grid:has(.siteorigin-panels-stretch.panel-row-style[data-stretch-type="full-stretched"])
  > .panel-row-style,
body.siteorigin-panels.parent-pageid-3548
  .panel-layout
  > .panel-grid:has(.siteorigin-panels-stretch.panel-row-style[data-stretch-type="full-stretched"])
  > .panel-row-style {
  width: 100%;
}

body.siteorigin-panels.parent-pageid-5363
  .panel-layout
  > .panel-grid:not(:has(.siteorigin-panels-stretch.panel-row-style[data-stretch-type="full-stretched"])),
body.siteorigin-panels.parent-pageid-3548
  .panel-layout
  > .panel-grid:not(:has(.siteorigin-panels-stretch.panel-row-style[data-stretch-type="full-stretched"])) {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

body.siteorigin-panels.parent-pageid-5363
  .panel-layout
  > .panel-grid:first-of-type
  > .siteorigin-panels-stretch.panel-row-style.darken-background[data-stretch-type="full-stretched"],
body.siteorigin-panels.parent-pageid-3548
  .panel-layout
  > .panel-grid:first-of-type
  > .siteorigin-panels-stretch.panel-row-style.darken-background[data-stretch-type="full-stretched"] {
  min-height: 70vh;
}

/* ── Inner pagebuilder heroes: Contact, Activities, About EN/PT (parallax img hidden; row BG + 70vh like the rest) ── */
:is(
    body.page-id-5363 #pg-5363-0,
    body.page-id-5363 #pg-5363-2,
    body.page-id-5354 #pg-5354-0,
    body.page-id-5395 #pg-5395-0,
    body.page-id-5395 #pg-5395-2,
    body.page-id-3548 #pg-3548-0,
    body.page-id-3548 #pg-3548-2,
    body.page-id-3934 #pg-3934-0,
    body.page-id-3934 #pg-3934-2,
    body.page-id-4966 #pg-4966-0
  ) {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

:is(
    body.page-id-5363 #pg-5363-0,
    body.page-id-5363 #pg-5363-2,
    body.page-id-5354 #pg-5354-0,
    body.page-id-5395 #pg-5395-0,
    body.page-id-5395 #pg-5395-2,
    body.page-id-3548 #pg-3548-0,
    body.page-id-3548 #pg-3548-2,
    body.page-id-3934 #pg-3934-0,
    body.page-id-3934 #pg-3934-2,
    body.page-id-4966 #pg-4966-0
  )
  > .panel-row-style {
  width: 100%;
}

:is(
    body.page-id-5363 #pg-5363-1,
    body.page-id-5354 #pg-5354-1,
    body.page-id-5354 #pg-5354-2,
    body.page-id-5395 #pg-5395-1,
    body.page-id-3548 #pg-3548-1,
    body.page-id-3934 #pg-3934-1,
    body.page-id-4966 #pg-4966-1,
    body.page-id-4966 #pg-4966-2
  ) {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* Hero rows */
:is(body.page-id-5363 #pg-5363-0, body.page-id-3548 #pg-3548-0) > .panel-row-style {
  min-height: 70vh;
  background-image: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)),
    url("../../uploads/2018/04/praia3.jpg");
  background-size: cover;
  background-position: center;
}

:is(body.page-id-5354 #pg-5354-0, body.page-id-4966 #pg-4966-0) > .panel-row-style {
  min-height: 70vh;
  background-image: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)),
    url("../../uploads/2018/02/Foto_header_Home_HOSTEL_FIX.jpg");
  background-size: cover;
  background-position: center;
}

:is(body.page-id-5395 #pg-5395-0, body.page-id-3934 #pg-3934-0) > .panel-row-style {
  min-height: 70vh;
  background-image: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)),
    url("../../uploads/2018/02/IMG_0977.jpg");
  background-size: cover;
  background-position: center;
}

:is(
    body.page-id-5363 #pg-5363-0,
    body.page-id-5354 #pg-5354-0,
    body.page-id-5395 #pg-5395-0,
    body.page-id-3548 #pg-3548-0,
    body.page-id-3934 #pg-3934-0,
    body.page-id-4966 #pg-4966-0
  )
  img[data-siteorigin-parallax] {
  display: none;
}

:is(
    body.page-id-5363 #pg-5363-0,
    body.page-id-5354 #pg-5354-0,
    body.page-id-5395 #pg-5395-0,
    body.page-id-3548 #pg-3548-0,
    body.page-id-3934 #pg-3934-0,
    body.page-id-4966 #pg-4966-0
  )
  > .panel-row-style.darken-background::after {
  display: none;
}

:is(
    body.page-id-5363 #panel-5363-0-0-0,
    body.page-id-5354 #panel-5354-0-0-0,
    body.page-id-5395 #panel-5395-0-0-0,
    body.page-id-3548 #panel-3548-0-0-0,
    body.page-id-3934 #panel-3934-0-0-0,
    body.page-id-4966 #panel-4966-0-0-0
  )
  > .panel-widget-style,
:is(
    body.page-id-5363 #pgc-5363-0-0,
    body.page-id-5354 #pgc-5354-0-0,
    body.page-id-5395 #pgc-5395-0-0,
    body.page-id-3548 #pgc-3548-0-0,
    body.page-id-3934 #pgc-3934-0-0,
    body.page-id-4966 #pgc-4966-0-0
  ) {
  width: 100%;
  max-width: none;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

:is(
    body.page-id-5363 #panel-5363-0-0-0,
    body.page-id-5354 #panel-5354-0-0-0,
    body.page-id-5395 #panel-5395-0-0-0,
    body.page-id-3548 #panel-3548-0-0-0,
    body.page-id-3934 #panel-3934-0-0-0,
    body.page-id-4966 #panel-4966-0-0-0
  )
  > .panel-widget-style {
  max-width: 100vh;
  width: 100%;
  padding: 0;
  margin: auto;
}

:is(
    body.page-id-5363 #panel-5363-0-0-0,
    body.page-id-5354 #panel-5354-0-0-0,
    body.page-id-5395 #panel-5395-0-0-0,
    body.page-id-3548 #panel-3548-0-0-0,
    body.page-id-3934 #panel-3934-0-0-0,
    body.page-id-4966 #panel-4966-0-0-0
  )
  img {
  max-width: 100%;
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
}

/* Explore packs frame (inner Activities + About story block) */
:is(
    body.page-id-5363 #pg-5363-1,
    body.page-id-3548 #pg-3548-1,
    body.page-id-5395 #pg-5395-1,
    body.page-id-3934 #pg-3934-1
  )
  > .panel-row-style {
  background: #fff;
}

:is(
    body.page-id-5363 #panel-5363-1-0-0,
    body.page-id-3548 #panel-3548-1-0-0,
    body.page-id-5395 #panel-5395-1-0-0,
    body.page-id-3934 #panel-3934-1-0-0
  )
  > .panel-widget-style {
  --frame: 8px;
  position: relative;
  width: 100%;
  max-width: none;
  margin: 32px 0 0;
  padding: 52px 60px 24px;
  box-sizing: border-box;
  text-align: center;
  border: none;
  border-right: var(--frame) solid #000;
  background:
    linear-gradient(#000, #000) left top / 25% var(--frame) no-repeat,
    linear-gradient(#000, #000) right top / 25% var(--frame) no-repeat,
    linear-gradient(#000, #000) left top / var(--frame) 100% no-repeat,
    linear-gradient(#000, #000) left bottom / 100% var(--frame) no-repeat;
}

:is(
    body.page-id-5363 #panel-5363-1-0-0,
    body.page-id-3548 #panel-3548-1-0-0,
    body.page-id-5395 #panel-5395-1-0-0,
    body.page-id-3934 #panel-3934-1-0-0
  )
  > .panel-widget-style
  h3.widget-title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0 75px;
  font-size: 45px;
  line-height: 1;
  background: #fff;
  z-index: 2;
  white-space: nowrap;
  width: auto;
  display: block;
  color: #111;
}

:is(
    body.page-id-5363 #panel-5363-1-0-0,
    body.page-id-3548 #panel-3548-1-0-0,
    body.page-id-5395 #panel-5395-1-0-0,
    body.page-id-3934 #panel-3934-1-0-0
  )
  > .panel-widget-style
  h3.widget-title::before,
:is(
    body.page-id-5363 #panel-5363-1-0-0,
    body.page-id-3548 #panel-3548-1-0-0,
    body.page-id-5395 #panel-5395-1-0-0,
    body.page-id-3934 #panel-3934-1-0-0
  )
  > .panel-widget-style
  h3.widget-title::after {
  display: none;
  content: none;
}

:is(
    body.page-id-5363 #panel-5363-1-0-0,
    body.page-id-3548 #panel-3548-1-0-0,
    body.page-id-5395 #panel-5395-1-0-0,
    body.page-id-3934 #panel-3934-1-0-0
  )
  > .panel-widget-style
  .textwidget {
  border: none;
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 15px;
  line-height: 1.65;
  color: #111;
}

/* Inner About: gallery slider (widget defaults to display:none until JS) */
body.page-id-5395 #pg-5395-2 .sow-slider-base,
body.page-id-3934 #pg-3934-2 .sow-slider-base {
  display: block !important;
  visibility: visible;
}

body.page-id-5395 #pg-5395-2 .sow-slider-foreground-image,
body.page-id-3934 #pg-3934-2 .sow-slider-foreground-image {
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
}

/* Contact: map + info columns */
:is(body.page-id-5354 #pg-5354-1, body.page-id-4966 #pg-4966-1) > .panel-row-style {
  background: #fff;
  padding: 0;
}

:is(body.page-id-5354 #panel-5354-1-0-0, body.page-id-4966 #panel-4966-1-0-0) > .panel-widget-style {
  padding: 0;
}

:is(body.page-id-5354 #panel-5354-1-0-0, body.page-id-4966 #panel-4966-1-0-0) iframe {
  display: block;
  width: 100%;
  height: 300px;
  border: 0;
}

:is(body.page-id-5354 #pg-5354-2, body.page-id-4966 #pg-4966-2) > .panel-row-style {
  background: #fff;
  padding: 40px 0 70px;
}

:is(body.page-id-5354 #pg-5354-2, body.page-id-4966 #pg-4966-2) .widget-title {
  font-size: 33px;
  margin-bottom: 12px;
}

:is(body.page-id-5354 #pg-5354-2, body.page-id-4966 #pg-4966-2) .textwidget {
  font-size: 15px;
  line-height: 1.65;
  color: #111;
}

/* ── Footer: full-width black bar, contact + social one row ── */
.site-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  padding: 18px clamp(20px, 5vw, 80px) 22px;
  box-sizing: border-box;
  background: #000;
  position: relative;
  z-index: 2;
  clear: both;
}

#top-footer,
#bottom-footer {
  float: none;
  width: auto;
  padding: 0;
  background: transparent;
}

#top-footer .tg-container,
#bottom-footer .tg-container {
  margin: 0;
  padding: 0;
  width: auto;
  max-width: none;
}

#top-footer .tg-column-wrapper,
#top-footer .footer-block,
#top-footer .widget {
  margin: 0;
  text-align: left;
}

#top-footer .textwidget p {
  margin: 0;
  color: #fff;
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
}

#top-footer a {
  color: #fff;
}

#bottom-footer .copyright {
  display: none;
}

#bottom-footer [class^="menu-footer-"] {
  float: none;
  margin: 0;
}

#bottom-footer ul.footer-menu {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#bottom-footer .footer-menu li {
  float: none;
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
}

#bottom-footer .footer-menu li::before,
#bottom-footer .footer-menu li::after {
  display: none;
  content: none;
}

#bottom-footer .footer-menu li a {
  color: #fff;
  font-size: 13px;
  text-transform: lowercase;
  text-decoration: none;
}

#bottom-footer .footer-menu li a:hover {
  color: #ccc;
}

/* WhatsApp icon after phone number; social row uses the word "whatsapp" (same wa.me link) */
#top-footer .footer-whatsapp-icon-link,
#content .footer-whatsapp-icon-link {
  display: inline-block;
  margin-left: 0.35em;
  color: inherit;
  text-decoration: none;
  line-height: 1;
  vertical-align: middle;
  transform: translateY(-0.06em);
}

#top-footer .footer-whatsapp-icon-link .fa-brands,
#content .footer-whatsapp-icon-link .fa-brands {
  font-size: 1.05em;
  line-height: 1;
  vertical-align: middle;
}

#top-footer .footer-whatsapp-icon-link {
  color: #fff;
}

#top-footer .footer-whatsapp-icon-link:hover,
#content .footer-whatsapp-icon-link:hover {
  color: #ccc;
}

/* Pack detail pages: Book now label + Email / WhatsApp (same greens as SO flat btn in gig-widgets.css) */
.gig-book-now {
  --gig-book-green: #338202;
  --gig-book-green-hover: #3b9602;
  text-align: center;
  padding: 6px 0 4px;
}

.gig-book-now-label {
  margin: 0 0 18px;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--gig-book-green);
  line-height: 1.2;
}

.gig-book-now-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  align-items: stretch;
}

.gig-book-now-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 120px;
  max-width: 220px;
  min-height: 50px;
  padding: 12px 20px;
  box-sizing: border-box;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  background: var(--gig-book-green);
  border: 2px solid var(--gig-book-green);
  transition:
    color 0.2s ease,
    background 0.2s ease,
    border-color 0.2s ease;
}

.gig-book-now-btn:hover {
  color: #fff;
  background: var(--gig-book-green-hover);
  border-color: var(--gig-book-green-hover);
}

@media (max-width: 520px) {
  .gig-book-now-actions {
    flex-direction: column;
  }

  .gig-book-now-btn {
    max-width: none;
    width: 100%;
  }
}

/* ── Nav: sliding white border (matches current-page style) ── */
#site-navigation :is(ul.menu, #primary-menu) {
  position: relative;
}

#site-navigation .nav-slide-border {
  position: absolute;
  top: 0;
  left: 0;
  border: 5px solid #fff;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transition:
    left 0.45s cubic-bezier(0.77, 0, 0.175, 1),
    top 0.45s cubic-bezier(0.77, 0, 0.175, 1),
    width 0.45s cubic-bezier(0.77, 0, 0.175, 1),
    height 0.45s cubic-bezier(0.77, 0, 0.175, 1),
    opacity 0.2s ease;
}

#site-navigation .nav-slide-border.is-visible {
  opacity: 1;
}

#site-navigation :is(ul.menu, #primary-menu) > li {
  position: relative;
  z-index: 1;
}

#site-navigation :is(ul.menu, #primary-menu) > li > a {
  display: inline-block;
  padding: 0 10px;
  border: none;
  margin: 0;
  color: #fff;
  background: transparent;
  transition: color 0.2s ease;
}

:is(
    #site-navigation ul.menu > li:hover > a,
    #site-navigation ul.menu > li.current-menu-item > a,
    #site-navigation ul.menu > li.current_page_item > a,
    #site-navigation ul.menu > li.current-menu-ancestor > a,
    #site-navigation ul.menu > li.current-page-ancestor > a,
    #site-navigation #primary-menu > li:hover > a,
    #site-navigation #primary-menu > li.current-menu-item > a,
    #site-navigation #primary-menu > li.current_page_item > a,
    #site-navigation #primary-menu > li.current-menu-ancestor > a,
    #site-navigation #primary-menu > li.current-page-ancestor > a,
    .transparent #site-navigation ul li:hover > a,
    #site-navigation ul li:hover > a
  ) {
  color: #fff;
}

@media (max-width: 780px) {
  .site-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  #bottom-footer ul.footer-menu {
    flex-wrap: wrap;
  }

  #site-navigation .nav-slide-border {
    display: none;
  }

  #site-navigation :is(ul.menu, #primary-menu) > li > a {
    margin: 0;
    border: none;
  }

  .home :is(#panel-5391-1-0-0, #panel-344-1-0-0) > .panel-widget-style {
    padding: 48px 16px 20px;
    margin-top: 28px;
    border-right: var(--frame) solid #000;
    background:
      linear-gradient(#000, #000) left top / 15% var(--frame) no-repeat,
      linear-gradient(#000, #000) right top / 15% var(--frame) no-repeat,
      linear-gradient(#000, #000) left top / var(--frame) 100% no-repeat,
      linear-gradient(#000, #000) left bottom / 100% var(--frame) no-repeat;
  }

  .home .menu-separator h3.section-title::before,
  .home .menu-separator h3.section-title::after {
    display: none;
  }

  body.siteorigin-panels .menu-buttons a {
    min-height: 200px;
  }

  :is(
      body.page-id-5363 #panel-5363-1-0-0,
      body.page-id-3548 #panel-3548-1-0-0,
      body.page-id-5395 #panel-5395-1-0-0,
      body.page-id-3934 #panel-3934-1-0-0
    )
    > .panel-widget-style {
    padding: 48px 16px 20px;
    margin-top: 28px;
  }
}

/* ── FAQ blocks (matches FAQPage JSON-LD on-page) ── */
.textwidget.gig-faq dl {
  margin: 0;
}

.textwidget.gig-faq dt {
  font-weight: 600;
  margin-top: 1rem;
}

.textwidget.gig-faq dt:first-child {
  margin-top: 0;
}

.textwidget.gig-faq dd {
  margin: 0.35rem 0 0 0;
}
