/* ==========================================================================
   Print-Friendly Stylesheet
   Applied only when the page is printed (media="print" on the <link>).
   ========================================================================== */

/* ---- General Reset ---- */
*,
*::before,
*::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

body {
    font-family: "Georgia", "Times New Roman", serif;
    font-size: 12pt;
    line-height: 1.5;
    margin: 0;
    padding: 0;
}

/* ---- Hide non-essential UI ---- */
header,
.header-style,
.mobile-menu,
.desktop-menu,
footer,
.footer_style__one,
.preloader,
.swiper-pagination,
.common-pagination,
.pack-two-pagi,
nav,
button,
.btn_primary__v1,
.btn,
.hamburger,
form,
iframe,
video,
audio,
.google-recaptcha-badge,
.grecaptcha-badge,
noscript,
#mapbox,
#map,
.swiper-button-next,
.swiper-button-prev,
[class*="social_icon"],
.explore-btn {
    display: none !important;
}

/* ---- Layout ---- */
.container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Remove flex/grid so content stacks naturally */
.flex,
.grid,
.swiper-wrapper {
    display: block !important;
}

.swiper-slide {
    display: block !important;
    width: 100% !important;
    margin-bottom: 1rem;
}

/* Ensure nothing is hidden by overflow or fixed positioning */
.sticky,
.fixed {
    position: static !important;
}

.overflow-hidden {
    overflow: visible !important;
}

.hidden {
    display: none !important;
}

/* ---- Images ---- */
img {
    max-width: 100% !important;
    height: auto !important;
    page-break-inside: avoid;
}

/* ---- Links ---- */
a,
a:visited {
    text-decoration: underline;
    color: #000 !important;
}

/* Show link URLs after anchors (except internal anchors and JS links) */
a[href]::after {
    content: " (" attr(href) ")";
    font-size: 0.85em;
    font-style: italic;
    word-wrap: break-word;
}

a[href^="#"]::after,
a[href^="javascript:"]::after,
a[href=""]::after {
    content: "";
}

/* ---- Typography ---- */
h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
    font-family: "Georgia", "Times New Roman", serif;
    color: #000 !important;
}

h1 { font-size: 22pt; }
h2 { font-size: 18pt; }
h3 { font-size: 14pt; }
h4, h5, h6 { font-size: 12pt; }

p {
    orphans: 3;
    widows: 3;
}

/* ---- Tables ---- */
table {
    border-collapse: collapse !important;
}

th, td {
    border: 1px solid #ccc !important;
    padding: 4pt 8pt;
}

thead {
    display: table-header-group;
}

tr {
    page-break-inside: avoid;
}

/* ---- Cards (Listings / Events) ---- */
.package-card-style-one,
.package-card-two,
.package-slide {
    border: 1px solid #ccc !important;
    padding: 8pt;
    margin-bottom: 12pt;
    page-break-inside: avoid;
    box-shadow: none !important;
}

.card-title-alpha {
    font-size: 14pt;
    font-weight: bold;
}

/* ---- Page Breaks ---- */
.page-break {
    page-break-before: always;
}

/* Prevent breaks inside key content */
article,
section,
blockquote {
    page-break-inside: avoid;
}

/* ---- Misc ---- */
/* Remove Tailwind background utilities */
[class*="bg-"] {
    background: transparent !important;
}

/* Remove parallax / fixed backgrounds */
.bg-fixed {
    background-attachment: scroll !important;
}

/* Remove animations */
[class*="animate"],
[class*="duration"],
[class*="transition"] {
    animation: none !important;
    transition: none !important;
}

/* Print margins */
@page {
    margin: 2cm;
}