main {
  font-size: 18px;
}

.gc-brand-truncate { max-width: 12rem; }

.opacity-hover:hover img {
	opacity: 0.5;
}
.wp-block-heading {
  margin: 20px auto 30px;
}
.wp-block-column, .card {
	min-width:250px;
}
.gctbi-price{
	line-height:.8em;
}
.gctbi-price span:first-of-type {
	font-size:.7em;
}
.teaser {
  transition: box-shadow 0.25s ease, transform 0.2s ease;
}
.teaser:hover,
.teaser:focus-within {
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
}
.teaser-img-wrapper {
  height: 100%;
  overflow: hidden;
}
.card.teaser .teaser-img-wrapper {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.teaser-img {
  transition: transform 0.4s ease;
  will-change: transform;
}
.teaser:hover .teaser-img,
.teaser:focus-within .teaser-img {
  transform: scale(1.05);
}
.teaser .text-muted {
  transition: color 0.25s ease;
}
.teaser:hover .text-muted,
.teaser:focus-within .text-muted {
  color: var(--bs-body-color) !important;
}
.teaser:hover {
  transform: translateY(-2px);
}
@media (hover: none) {
    .teaser-img {
        transition: none;
    }
}
.wp-block-table td, .wp-block-table th, .table-bordered>:not(caption)>*, .wp-block-table table>:not(caption)>*  { border: none;}
@media print {
.bg-print-white { background-color: transparent !important;
	-webkit-print-color-adjust: economy !important;
	print-color-adjust: economy !important;
	box-shadow: none !important;border: none;color: inherit !important;margin:0;
		padding:0;}
		.col-md-10,.col-sm-8{width:100% !important;}
	.bg-print-white::after{
		background-image: none !important;
	}
	#cmplz-manage-consent .cmplz-manage-consent{display: none;}
}
.break-avoid {
	break-inside: avoid;
}
iframe{
  width:100%!important;
}
#scrollSectionSpy .nav-item {
  width: 100%;
}
#scrollSectionSpy .nav-item:hover {
  width: auto;
}
#scrollSectionSpy .nav-item a {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
footer{
  background-color:#f0f0f0;
}
.grecaptcha-badge{
  visibility:hidden;
}
/* .card-img-fit — used by templates/teaser/row.php to make the
 * teaser image fill the column's full height. The chain is:
 *   .row > .col-md-4 > .teaser-img-wrapper.h-100 > .teaser-img.card-img-fit
 * The <img> in row.php must NOT carry `.img-fluid` (Bootstrap's
 * .img-fluid sets `height: auto`, which collapses the chain and
 * shrinks the image to its intrinsic aspect ratio). See the PHP
 * docblock in templates/teaser/row.php for the full explanation. */
.card-img-fit {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* .gc-pill-caret — small caret glyph for badges / pills that act
 * as collapse toggles (Bootstrap data-bs-toggle="collapse"). The
 * rotation rule uses the [aria-expanded="true"] attribute that
 * Bootstrap toggles on the trigger element when its target opens.
 * Currently used by the per-day demand badge in
 * templates/tour/itinerary-day.php. */
.gc-pill-caret {
  display: inline-block;
  margin-left: 0.2em;
  font-size: 0.85em;
  line-height: 1;
  transition: transform 0.2s ease;
}
[aria-expanded="true"] > .gc-pill-caret {
  transform: rotate(180deg);
}

.smart-search-results {
  display:none;
  background:#fff;
  border:1px solid #ddd;
  border-top:none;
}
.custom-joined-group .input-group,
.custom-joined-group .btn {
  width: 100%;
}
.shadow .shadow {
  box-shadow: none !important;
}
@media (min-width: 768px) {
	.smart-search-results {
			position: absolute;
			top: 48px;
			z-index: 99;
		}
  .custom-joined-group .input-group,
  .custom-joined-group .btn {
    width: auto;
  }
  .custom-joined-group:first-child .form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .custom-joined-group .input-group.middle .input-group-text,
  .custom-joined-group .input-group.middle .form-control {
    border-radius: 0;
  }
  .custom-joined-group .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
}

/* ============================================================
 * gc-* frontend utilities — replace recurring inline styles in
 * theme templates (understrap-greatchile/) and plugin-emitted
 * shortcodes/helpers. Bootstrap is loaded but doesn't have utils
 * for these specific values (e.g. 600px hero, 250px min-width).
 * ============================================================ */

/* Hero-header trio used by every single-* template + page.php.
 * The background-image URL stays inline (per-page dynamic). */
.gc-hero-header {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 600px;
}
.gc-hero-overlay {
	background-image: linear-gradient(transparent, rgba(0,0,0,.8));
}
.gc-hero-text {
	text-shadow: 2px 2px 2px rgba(0,0,0,.6);
}

/* Layout: under-fixed-header content offset and sticky-nav offset */
.gc-pt-header     { padding-top: 120px; }
.gc-sticky-offset { top: 60px; }

/* Footer + header logos and icons */
.gc-logo          { max-height: 34px; width: auto; }
.gc-icon-20       { height: 20px; }
.gc-icon-60       { height: 60px; }
.gc-social-circle { width: 36px; }

/* Card-group horizontal scrollers (places/tours/cars cards) */
.gc-card-min-250  { min-width: 250px; }
.gc-min-w-auto-i  { min-width: auto !important; }

/* Progress bars: physical demand / experience indicators */
.gc-progress-thin { height: 2px; }

/* Favorite-toggle button width cap on cards */
.gc-max-w-85p     { max-width: 85%; }

/* Form / contact-row container caps */
.gc-max-w-650     { max-width: 650px; }

/* Office-hours visibility (cache-friendly replacement for the legacy
 * gc_helper_openclose() PHP gate that broke page caches).
 *
 * ajax-price.js toggles `body.gc-office-open` / `body.gc-office-closed`
 * client-side based on the current Chile time + holidays + opening
 * hours. Any element marked `.gc-only-when-open` or
 * `.gc-only-when-closed` follows that state.
 *
 * Default: hidden — matches the legacy "show only when open" semantic
 * and prevents a flash of the phone number on closed-hour cached HTML
 * before the JS evaluates. If the JS never runs (no `gcOfficeData`),
 * the elements stay hidden — same outcome as the legacy gate when it
 * deemed the office closed. */
.gc-only-when-open,
.gc-only-when-closed                        { display: none; }
body.gc-office-open   .gc-only-when-open    { display: revert; }
body.gc-office-closed .gc-only-when-closed  { display: revert; }

/* [gc_date] / [gc_daterange] CF7 form-tags — the inline flatpickr
 * calendar gets a 3-tier border affordance:
 *   - Selectable day  → muted gray border
 *   - Priced day      → primary (brand-blue) border
 *   - Auto-pay product on a priced day → success (brand-green) border
 *
 * Brand vars come from the theme's editor-color-palette (--bs-primary
 * = brand blue, --bs-success = brand green). Disabled / spillover
 * days hide the border so the gap reads as "not available" without
 * competing with the highlight tiers.
 *
 * Source order matters for the cascade (every rule below the first
 * has class specificity 0,2,0 — equal — so later wins on tie):
 *   base gray → available → autopay → disabled (so disabled wins). */
.flatpickr-day {
	border: 1px solid var(--bs-secondary, #6c757d);
}
.flatpickr-day.gc-date-available {
	border-color: var(--bs-primary, #2d7ab8);
}
.flatpickr-day.gc-date-autopay {
	border-color: var(--bs-success, #006533);
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
	border-color: transparent;
}

/* [greatchile_moon_fase] moon-phase widget — emoji glyph sizing so
 * the per-day card matches the weather "Next Days" card height.
 * Designers swapping the emoji for an <img> via the
 * `gc_moon_phase_icon` filter can target the same wrapper to size
 * their image consistently. */
.gc-moon-icon {
	font-size: 2.5rem;
	line-height: 1;
}
.gc-moon-icon img {
	max-height: 2.5rem;
	width: auto;
}

/* [variation_pax] form tag — travel-group inputs derived from the
 * booking engine's age buckets. One row per variation; each row shows
 * the variation name + starting price + one count input per bucket.
 * Mirrors the request-form rework spec. */
.variation-pax {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-bottom: 1rem;
}
.variation-pax-explainer {
	background: #f8f9fa;
	border-left: 3px solid #0d6efd;
	padding: 0.5rem 0.75rem;
	margin: 0 0 1rem;
	font-size: 0.9em;
	color: #495057;
}
.variation-pax-row {
	border: 1px solid #dee2e6;
	border-radius: 0.375rem;
	padding: 0.75rem 1rem;
	background: #fff;
}
.variation-pax-row-header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 0.5rem;
	font-weight: 600;
}
.variation-pax-price {
	font-weight: 400;
	font-size: 0.95em;
}
.variation-pax-buckets {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}
.variation-pax-bucket {
	display: inline-flex;
	flex-direction: column;
	gap: 0.25rem;
	min-width: 7rem;
}
.variation-pax-bucket-label {
	font-size: 0.85em;
	color: #6c757d;
}
.variation-pax-input {
	max-width: 5rem;
}
