/* GabiTours: prose, navigation and voucher layout, 8 October 2026. */

/* Live tours, 8 October 2026: equal cards and a contained video player. */
body:is(.page-id-2518,.page-id-2525) .container.margin_60_30 > .row > #sidebar {
  width: 100%; float: none; left: auto;
}
body:is(.page-id-2518,.page-id-2525) .col-md-9.col-md-pull-3 {
  width: 100%; float: none; right: auto;
}
body:is(.page-id-2518,.page-id-2525) .col-md-9.col-md-pull-3 > .row:has(> .col-sm-6) {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-inline: 0;
}
body:is(.page-id-2518,.page-id-2525) .col-md-9.col-md-pull-3 > .row:has(> .col-sm-6)::before,
body:is(.page-id-2518,.page-id-2525) .col-md-9.col-md-pull-3 > .row:has(> .col-sm-6)::after {
  display: none;
}
body:is(.page-id-2518,.page-id-2525) .col-md-9.col-md-pull-3 > .row > .col-sm-6 {
  width: auto; min-width: 0; float: none; padding: 0;
}
body:is(.page-id-2518,.page-id-2525) .img_wrapper { margin-bottom: 0; }
body:is(.page-id-2518,.page-id-2525) .img_container img {
  display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover;
}
body:is(.page-id-2518,.page-id-2525) .short_info h3 {
  font-size: clamp(20px,1.8vw,24px) !important; line-height: 1.2;
}
body.single-destinations .gt-tour-video {
  width: 100%; max-width: 900px; margin: 24px auto; clear: both;
}
body.single-destinations .gt-tour-video iframe {
  display: block; width: 100% !important; max-width: 100%; height: auto !important;
  aspect-ratio: 16 / 9; border: 0;
}
body.single-destinations .gt-tour-video .rcb-content-blocker {
  width: 100%; max-width: 100%;
}
@media (min-width: 768px) and (max-width: 991px) {
  body:is(.page-id-2518,.page-id-2525) .col-md-9.col-md-pull-3 > .row:has(> .col-sm-6) {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 767px) {
  body:is(.page-id-2518,.page-id-2525) .col-md-9.col-md-pull-3 > .row:has(> .col-sm-6) {
    grid-template-columns: minmax(0,1fr);
  }
}


/* Desktop follow-up, 8 October 2026: tour grid, photos and language menu. */
body.page-id-31 #post-31 .gt-home-intro > p:first-child > img {
  display: block; width: 100%; max-width: 100%; height: auto;
}
body:is(.page-id-150,.page-id-624) .container.margin_60_30 > .row > #sidebar {
  width: 100%; float: none; left: auto;
}
body:is(.page-id-150,.page-id-624) .container.margin_60_30 > .row > #sidebar:not(:has(a)) { display: none; }
body:is(.page-id-150,.page-id-624) .col-md-9.col-md-pull-3 {
  width: 100%; float: none; right: auto;
}
body:is(.page-id-150,.page-id-624) .col-md-9.col-md-pull-3 > .row:has(> .col-sm-6) {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-inline: 0;
}
body:is(.page-id-150,.page-id-624) .col-md-9.col-md-pull-3 > .row:has(> .col-sm-6)::before,
body:is(.page-id-150,.page-id-624) .col-md-9.col-md-pull-3 > .row:has(> .col-sm-6)::after { display: none; }
body:is(.page-id-150,.page-id-624) .col-md-9.col-md-pull-3 > .row > .col-sm-6 {
  width: auto; min-width: 0; float: none; padding: 0;
}
body:is(.page-id-150,.page-id-624) .img_wrapper { margin-bottom: 0; }
body:is(.page-id-150,.page-id-624) .img_container img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
body:is(.page-id-150,.page-id-624) .short_info h3 { font-size: clamp(20px,1.8vw,24px) !important; line-height: 1.2; }
body.page-id-16640 #post-16640 .post > .container > .row > .col-sm-4 {
  position: relative; aspect-ratio: 7 / 5; overflow: hidden; border-radius: 5px; padding: 0;
}
body.page-id-16640 #post-16640 .post > .container > .row > .col-sm-4 > img {
  position: absolute; top: 0; left: 50%; display: block; float: none;
  width: 125% !important; max-width: none !important; height: auto;
  transform: translateX(-50%); margin: 0;
}
@media (min-width: 992px) {
  .main-menu > ul > .pll-parent-menu-item { position: relative; }
  .main-menu > ul > .pll-parent-menu-item > ul { left: auto; right: 0; min-width: 160px; z-index: 1001; }
  .main-menu > ul > .pll-parent-menu-item:hover > ul,
  .main-menu > ul > .pll-parent-menu-item:focus-within > ul {
    display: block; visibility: visible; opacity: 1;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  body:is(.page-id-150,.page-id-624) .col-md-9.col-md-pull-3 > .row:has(> .col-sm-6) {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 767px) {
  body:is(.page-id-150,.page-id-624) .col-md-9.col-md-pull-3 > .row:has(> .col-sm-6) {
    grid-template-columns: minmax(0,1fr);
  }
  body.page-id-16640 #post-16640 .post > .container > .row > .col-sm-4 { margin-bottom: 24px; }
}

/* Bernhard review, 2026-10-08: preserve wide pages, add small inner gutters. */
body.page-id-31 #post-31 .gt-home-intro { width: 100%; max-width: none; box-sizing: border-box; }
body.page-id-31 #pwmainwrapper > .row > .col-md-12 > .row > .container > .col-12 p {
  max-width: none !important; width: 100%;
}
body .woocommerce .gt-account-access { text-align: left; }
body .woocommerce .gt-account-access h2 { padding-inline: 0; }
body .woocommerce .gt-account-access form:is(.login,.register) {
  padding-inline: 20px !important;
}
body.single-destinations .gt-destination-content > .box_style_general {
  padding-inline: clamp(16px, 2vw, 24px);
}
/* The embedded checkout login uses the same existing brand colours and controls. */
body .woocommerce form.woocommerce-form-login {
  border-radius: 3px; border-color: #d9dfe2; background: #fff;
}
body .woocommerce form.woocommerce-form-login .woocommerce-form-login__submit {
  background: #1aa79b; color: #fff; border-radius: 3px;
  min-height: 48px; white-space: normal; text-align: center; line-height: 1.4;
}
body .woocommerce form.woocommerce-form-login .woocommerce-form-login__submit:hover { background: #9A252A; }
@media (max-width: 767px) {
  body.woocommerce-account:not(.logged-in) #post-1271 > .post {
    background: transparent;
  }
  body .woocommerce .gt-account-access { padding-inline: 12px !important; }
  body .woocommerce .gt-account-access form:is(.login,.register) {
    padding-inline: 12px !important;
  }
  body.single-destinations .gt-destination-content .cbp_tmlabel { padding: 16px; }
}

/* Account order tables: consistent action groups and enough room for labels. */
body.woocommerce-account.logged-in .woocommerce > .container.margin_60_30 {
  width: 100%; max-width: 1200px; box-sizing: border-box;
}
body.woocommerce-account.logged-in .woocommerce > .container.margin_60_30 > .row {
  display: grid; grid-template-columns: minmax(180px, 1fr) minmax(0, 3fr);
  gap: 32px; margin-inline: 0;
}
body.woocommerce-account.logged-in .woocommerce > .container.margin_60_30 > .row::before,
body.woocommerce-account.logged-in .woocommerce > .container.margin_60_30 > .row::after { display: none; }
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
  float: none; width: 100% !important; min-width: 0;
}
body.woocommerce-account.logged-in table.woocommerce-orders-table {
  table-layout: fixed; width: 100%; max-width: 100%;
}
body.woocommerce-account.logged-in table.woocommerce-orders-table :is(th,td) {
  width: auto; vertical-align: top; padding: 12px 10px;
  word-break: normal; overflow-wrap: normal; hyphens: none; text-align: left;
}
body.woocommerce-account.logged-in table.woocommerce-orders-table th:nth-child(1) { width: 14%; }
body.woocommerce-account.logged-in table.woocommerce-orders-table th:nth-child(2) { width: 19%; }
body.woocommerce-account.logged-in table.woocommerce-orders-table th:nth-child(3) { width: 20%; }
body.woocommerce-account.logged-in table.woocommerce-orders-table th:nth-child(4) { width: 22%; }
body.woocommerce-account.logged-in table.woocommerce-orders-table th:nth-child(5) { width: 25%; }
body.woocommerce-account.logged-in table.woocommerce-orders-table .nobr { white-space: normal; }
body.woocommerce-account.logged-in .gt-order-actions {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 8px;
  width: 100%; min-width: 0;
}
body.woocommerce-account.logged-in .gt-order-actions .button {
  display: block; float: none; margin: 0 !important; width: 100%; max-width: 100%;
  box-sizing: border-box; padding: 10px 12px; line-height: 1.35;
  white-space: normal !important; overflow-wrap: anywhere; word-break: normal;
  text-align: center; height: auto;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content :is(.woocommerce-info,.woocommerce-message) {
  text-align: left; overflow-wrap: normal;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content :is(.woocommerce-info,.woocommerce-message) > .button {
  display: table; float: none !important; position: static;
  margin: 0 0 12px; max-width: 100%; box-sizing: border-box;
  white-space: normal; overflow-wrap: anywhere; text-align: center; line-height: 1.4;
}
body.woocommerce-account.logged-in .woocommerce-pagination {
  display: flex; flex-wrap: wrap; gap: 8px;
}
body.woocommerce-account.logged-in .woocommerce-pagination .button { margin: 0; float: none; }
@media (max-width: 1100px) {
  body.woocommerce-account.logged-in .woocommerce > .container.margin_60_30 > .row {
    grid-template-columns: minmax(0,1fr); gap: 24px;
  }
}
@media (min-width: 769px) and (max-width: 1100px) {
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
    display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 20px;
  }
}
@media (max-width: 768px) {
  body.woocommerce-account.logged-in .woocommerce > .container.margin_60_30 { padding-inline: 0; }
  body.woocommerce-account.logged-in table.woocommerce-orders-table td { width: auto; text-align: right; }
  body.woocommerce-account.logged-in table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before {
    display: block; float: none; text-align: left; margin-bottom: 10px;
  }
  body.woocommerce-account.logged-in .gt-order-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.woocommerce-account.logged-in .gt-order-actions > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* Keep the existing newsletter CAPTCHA visible on the narrowest phones. */
@media (max-width: 359px) {
  body.page-id-15859 #sib_captcha { height: 65px; }
  body.page-id-15859 #sib_captcha > div { transform: scale(.83); transform-origin: top left; }
}

/* One mobile content gutter, measured from the homepage: 12px card + 12px inset + 1px border. */
@media (max-width: 767px) {
  body { --gt-mobile-edge: 12px; --gt-mobile-text: 25px; }
  body:is(.page,.single-post,.single-product) #pwmainwrapper > .row {
    width: 100%; margin-inline: 0;
  }
  body.page #pwmainwrapper > .row > [id^="post-"] {
    width: 100%; padding-inline: var(--gt-mobile-edge) !important;
  }
  body:is(.page,.single-post,.single-product) #pwmainwrapper > .container:is(.margin_60,.margin_60_30),
  body.page #pwmainwrapper > .wpb-content-wrapper > .container:is(.margin_60,.margin_60_30) {
    width: 100%; max-width: 100%; padding-inline: var(--gt-mobile-text);
  }
  body:is(.page,.single-post) #pwmainwrapper > .container:is(.margin_60,.margin_60_30):has(.post) {
    padding-inline: var(--gt-mobile-edge);
  }
  body:is(.page,.single-post) #pwmainwrapper > .container:is(.margin_60,.margin_60_30):has(.post) > .row {
    margin-inline: 0;
  }
  body:is(.page,.single-post) #pwmainwrapper > .container:is(.margin_60,.margin_60_30):has(.post) > .row > :is([class*="col-"],[id^="post-"]) {
    padding-inline: 0;
  }
  body:is(.page,.single-post) #pwmainwrapper .post {
    width: 100%; max-width: 100%; padding-inline: 12px;
  }
  body.page #pwmainwrapper .post .container {
    width: 100%; max-width: 100%; padding-inline: 0;
  }
  body.page #pwmainwrapper .post .container > .row {
    margin-inline: 0;
  }
  body.page #pwmainwrapper .post .container > .row > [class*="col-"] {
    padding-inline: 0;
  }
  body.page #pwmainwrapper .post .wpb_column > .vc_column-inner {
    padding-inline: 0;
  }
  body.page #pwmainwrapper .post .vc_row {
    margin-inline: 0;
  }
  body.woocommerce-account:not(.logged-in) #post-1271 > .post {
    padding-inline: 0; border: 0;
  }
  body.woocommerce-account .woocommerce .gt-account-access form:is(.login,.register) {
    padding-inline: 12px !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-content {
    width: 100%; float: none;
  }
  body.home.page-id-31 #pwmainwrapper > .row > .col-md-12 > .row > .container {
    padding-inline: var(--gt-mobile-text);
  }
  body #pwmainwrapper .post :is(img,.wp-caption),
  body #pwmainwrapper > .container :is(img,.wp-caption) {
    max-width: 100%; height: auto;
  }
  body #pwmainwrapper :is(.post,.gt-destination-content) :is(h1,h2,h3,p,a),
  body.page #pwmainwrapper > .container:is(.margin_60,.margin_60_30) {
    overflow-wrap: break-word;
  }
  /* Contact templates add a Bootstrap column and a second card inset. */
  body:is(.page-id-285,.page-id-607) #pwmainwrapper > .wpb-content-wrapper > .container {
    padding-inline: 12px !important;
  }
  body:is(.page-id-285,.page-id-607) .wpb-content-wrapper > .container > .row { margin-inline: 0; }
  body:is(.page-id-285,.page-id-607) .wpb-content-wrapper > .container > .row > .col-sm-8 { padding-inline: 0; }
  body:is(.page-id-285,.page-id-607) .wpb-content-wrapper > .container > .row > .col-sm-4 { padding-inline: 13px; }
  body:is(.page-id-285,.page-id-607) .box_style_general { padding-inline: 12px; }
  body:is(.page-id-285,.page-id-607) .box_style_general p { text-align: justify; hyphens: auto; }
  /* Signed-in community uses several nested Bootstrap rows and containers. */
  body.page-id-16081 #pwmainwrapper > section:not(.parallax_window_in) > .container {
    width: 100%; max-width: 100%; padding-inline: 25px;
  }
  body.page-id-16081 #pwmainwrapper > section:not(.parallax_window_in) > .container .container {
    width: 100%; max-width: 100%; padding-inline: 0;
  }
  body.page-id-16081 #pwmainwrapper > section:not(.parallax_window_in) .row { margin-inline: 0; }
  body.page-id-16081 #pwmainwrapper > section:not(.parallax_window_in) [class*="col-"] {
    width: 100%; float: none; padding-inline: 0;
  }
  body.page-id-16312 #pwmainwrapper .post .row { margin-inline: 0; }
  body.page-id-16312 #pwmainwrapper .post [class*="col-"] { padding-inline: 0; }
  body.single-destinations .gt-destination-content hr { margin-inline: 0; width: auto; max-width: 100%; }
  body #position ul { white-space: normal; overflow-wrap: anywhere; }
}

body.page .post, body.single-post .post,
body.page #pwmainwrapper > .container.margin_60_30,
.gt-destination-content .box_style_general, .gt-destination-content .cbp_tmlabel,
.wpb_text_column .wpb_wrapper {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  overflow-wrap: break-word;
}
.post :is(h1,h2,h3,h4,h5,h6,form,table,label,button,.button),
body.page #pwmainwrapper > .container.margin_60_30 :is(h1,h2,h3,h4,h5,h6,form,table,label,button,.button),
.gt-destination-content :is(h1,h2,h3,h4,h5,h6,form,table,label,button,.box_info),
.wpb_text_column :is(h1,h2,h3,h4,h5,h6,form,table,label,button) {
  text-align: start;
  hyphens: none;
}
.main-menu a { hyphens: none; }
.main-menu a[href*="gabitours-community"] { white-space: nowrap; word-break: normal; overflow-wrap: normal; }
@media (max-width: 991px) {
  .main-menu { width: min(320px, 100vw) !important; max-width: 100vw; }
  .main-menu > ul > li > a { padding-inline: 20px !important; }
  .main-menu a[href*="gabitours-community"] { font-size: 16px !important; letter-spacing: 0; }
}
body:is(.page-id-1268,.page-id-1345,.page-id-3776,.page-id-1346) #pwmainwrapper > .row,
body:is(.page-id-1268,.page-id-1345,.page-id-3776,.page-id-1346) #pwmainwrapper > .container {
  width: 100%; max-width: 1200px; margin-inline: auto;
}
body:is(.page-id-1268,.page-id-1345,.page-id-3776,.page-id-1346) .post {
  padding: clamp(16px,3vw,32px); margin-bottom: 32px;
}
.gt-voucher-intro { margin-bottom: 32px; max-width: 760px; }
.gt-voucher-intro h2, .gt-balance-intro h2 { margin: 0 0 16px; font-size: clamp(25px,3vw,34px); line-height: 1.25; }
.gt-voucher-intro .button { display: inline-block; white-space: normal; }
body:is(.page-id-1268,.page-id-1345,.page-id-3776) ul.products {
  display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px;
  clear: both; padding: 0 !important; margin: 24px 0 !important; width: 100%;
}
body:is(.page-id-1268,.page-id-1345,.page-id-3776) ul.products::before,
body:is(.page-id-1268,.page-id-1345,.page-id-3776) ul.products::after { display: none !important; }
body:is(.page-id-1268,.page-id-1345,.page-id-3776) ul.products li.product {
  float: none !important; width: auto !important; margin: 0 !important; min-width: 0;
  padding: 20px; display: flex; flex-direction: column; border: 1px solid #dce3e8;
  border-radius: 10px; background: #fff; text-align: left; box-sizing: border-box;
}
body:is(.page-id-1268,.page-id-1345,.page-id-3776) ul.products li.product > .woocommerce-LoopProduct-link { display: flex; flex: 1; flex-direction: column; }
body:is(.page-id-1268,.page-id-1345,.page-id-3776) ul.products li.product img {
  width: 100%; height: auto; aspect-ratio: 4/3; object-fit: contain; background: #f7f8fa;
  border-radius: 6px; margin: 0 0 20px;
}
body:is(.page-id-1268,.page-id-1345,.page-id-3776) ul.products li.product .woocommerce-loop-product__title {
  font-size: 20px !important; line-height: 1.35; padding: 0 0 16px; margin: 0; text-align: left; hyphens: auto;
  min-height: calc(4.05em + 16px);
}
body:is(.page-id-1268,.page-id-1345,.page-id-3776) ul.products li.product .price { margin-top: auto; padding-top: 12px; font-size: 19px; }
body:is(.page-id-1268,.page-id-1345,.page-id-3776) ul.products li.product .button { width: 100%; text-align: center; white-space: normal; margin-top: 16px; }
body.page-id-1346 .post { max-width: 760px; margin-inline: auto; }
.wps-gift-card-balance-shortcode { padding: 24px; border: 1px solid #dce3e8; border-radius: 10px; background: #f4f7f9; text-align: left; }
.wps-gift-card-balance-shortcode :is(input,button) { min-height: 44px; max-width: 100%; font: inherit; }
.woocommerce div.product form.cart :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { max-width: 100%; box-sizing: border-box; }
@media (max-width: 900px) {
  body:is(.page-id-1268,.page-id-1345,.page-id-3776) ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  body:is(.page-id-1268,.page-id-1345,.page-id-3776) ul.products li.product .woocommerce-loop-product__title { min-height: 0; }
  body:is(.page-id-1268,.page-id-1345,.page-id-3776) ul.products { grid-template-columns: minmax(0,1fr); gap: 20px; }
  body:is(.page-id-1268,.page-id-1345,.page-id-3776,.page-id-1346) [id^=post-] { padding-inline: 12px; }
  body:is(.page-id-1268,.page-id-1345,.page-id-3776) .woocommerce-ordering { float: none; width: 100%; }
  body:is(.page-id-1268,.page-id-1345,.page-id-3776) .woocommerce-ordering select { width: 100%; max-width: 100%; }
  .wps-gift-card-balance-shortcode { padding: 16px; }
}
