@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("../fonts/inter-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Inter Tight";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("../fonts/inter-tight-latin.woff2") format("woff2");
}

:root {
  --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
  --font-display: "Inter Tight", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-weight-bold: 700 !important;
  --font-weight-extrabold: 800 !important;
  --font-weight-black: 900 !important;
}

body {
  font-synthesis: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-display);
}

/*
 * Keeps Drupal administrative UI from visually colliding with the static
 * imported front-page experience.
 */
body.toolbar-fixed .italiapass-static-front {
  padding-top: var(--drupal-displace-offset-top, 0);
}

.italiapass-static-front {
  min-height: 100vh;
}

.italiapass-static-front img {
  display: block;
}

@media (min-width: 64rem) {
  .italiapass-static-front .lg\:block {
    display: block !important;
  }

  .italiapass-static-front .lg\:flex {
    display: flex !important;
  }

  .italiapass-static-front .lg\:grid {
    display: grid !important;
  }

  .italiapass-static-front .lg\:hidden {
    display: none !important;
  }
}

@media (min-width: 80rem) {
  .italiapass-static-front .xl\:block {
    display: block !important;
  }

  .italiapass-static-front .xl\:grid {
    display: grid !important;
  }

  .italiapass-static-front .xl\:hidden {
    display: none !important;
  }
}

.italiapass-static-front #footer {
  font-family: var(--font-sans, Arial, sans-serif);
}

.italiapass-static-front #footer > div {
  padding-bottom: 2.125rem;
  padding-top: 3.625rem;
}

.italiapass-static-front #footer > div > img {
  height: 1.875rem !important;
  max-height: 1.875rem;
  max-width: 13rem;
  object-fit: contain;
  object-position: left center;
  width: auto !important;
}

.italiapass-static-front #footer p,
.italiapass-static-front #footer a {
  color: #000;
  font-size: .75rem;
  line-height: 1.18;
}

.italiapass-static-front #footer .iconify {
  color: #8e8d8d;
}

.italiapass-static-front #footer > div > .flex:first-of-type {
  align-items: flex-start;
  gap: 2rem;
  padding-top: 1.875rem;
}

.italiapass-static-front #footer > div > .flex:first-of-type > div:first-child {
  max-width: 29rem;
}

.italiapass-static-front #footer > div > .flex:first-of-type > div:first-child p {
  width: auto !important;
}

.italiapass-static-front #footer > div > .flex:first-of-type > div:last-child {
  margin-left: auto;
  min-width: 10rem;
}

.italiapass-static-front #footer > div > .flex:last-of-type {
  align-items: flex-end;
  padding-top: 2.25rem;
}

.italiapass-static-front #footer > div > .flex:last-of-type > div {
  justify-content: flex-end;
}

.italiapass-static-front #footer > div > .flex:last-of-type a {
  text-decoration: none;
}

.italiapass-static-front #footer + script {
  display: none;
}

.italiapass-static-front #footer::before {
  display: none;
}

.italiapass-static-front .bg-white.text-black:has(a[href*="wandrian.com"]) > div {
  align-items: center;
  gap: clamp(3rem, 9vw, 8.125rem);
  padding-bottom: 6.125rem;
  padding-top: 6.125rem;
}

.italiapass-static-front .bg-white.text-black:has(a[href*="wandrian.com"]) p {
  color: #000;
}

.italiapass-static-front .bg-white.text-black:has(a[href*="wandrian.com"]) > div > div:first-child {
  align-items: flex-start;
}

.italiapass-static-front .bg-white.text-black:has(a[href*="wandrian.com"]) > div > div:first-child > p:first-child {
  display: block;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.15;
  padding-bottom: 1.375rem;
}

.italiapass-static-front .bg-white.text-black:has(a[href*="wandrian.com"]) .prose {
  font-family: var(--font-sans, Arial, sans-serif);
  max-width: 39rem;
  padding-bottom: 1.625rem;
}

.italiapass-static-front .bg-white.text-black:has(a[href*="wandrian.com"]) .prose p {
  font-size: 1.125rem;
  line-height: 1.48;
  margin: 0 0 1.45rem;
}

.italiapass-static-front .bg-white.text-black:has(a[href*="wandrian.com"]) .prose p:last-child {
  margin-bottom: 0;
}

.italiapass-static-front .bg-white.text-black:has(a[href*="wandrian.com"]) .prose strong {
  font-weight: 700;
}

.italiapass-static-front .bg-white.text-black:has(a[href*="wandrian.com"]) a[href*="wandrian.com"] {
  border-radius: 9999px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  padding: 1.1875rem 1.3125rem;
}

.italiapass-static-front .bg-white.text-black:has(a[href*="wandrian.com"]) a[href*="wandrian.com"] span {
  overflow: visible;
  text-overflow: clip;
}

.italiapass-static-front .bg-white.text-black:has(a[href*="wandrian.com"]) img[src*="img9_"] {
  border-radius: 1rem;
}

@media (min-width: 64rem) {
  .italiapass-static-front .bg-white.text-black:has(a[href*="wandrian.com"]) > div > div:first-child {
    width: 50%;
  }

  .italiapass-static-front .bg-white.text-black:has(a[href*="wandrian.com"]) > div > div:last-child {
    width: 44%;
  }
}

@media (max-width: 63.999rem) {
  .italiapass-static-front #footer > div > .flex:first-of-type > div:last-child {
    margin-left: 0;
  }

  .italiapass-static-front #footer > div > .flex:last-of-type {
    align-items: flex-start;
  }

  .italiapass-static-front #footer > div > .flex:last-of-type > div {
    justify-content: flex-start;
  }

  .italiapass-static-front .bg-white.text-black:has(a[href*="wandrian.com"]) > div {
    align-items: flex-start;
    padding-bottom: 3.5rem;
    padding-top: 3.5rem;
  }
}

@media (max-width: 79.999rem) {
  .italiapass-static-front .italiapass-desktop-only {
    display: none !important;
  }
}

@media (max-width: 63.999rem) {
  .italiapass-static-front .italiapass-lg-desktop-only {
    display: none !important;
  }
}

/* Missing Tailwind color-mix utilities for primary buttons */
.italiapass-static-front .bg-primary\/10,
.italiapass-static-front .disabled\:bg-primary\/10:disabled,
.italiapass-static-front .aria-disabled\:bg-primary\/10[aria-disabled="true"] {
  background-color: color-mix(in srgb, var(--ui-primary) 10%, transparent) !important;
}

.italiapass-static-front .bg-primary\/15 {
  background-color: color-mix(in srgb, var(--ui-primary) 15%, transparent) !important;
}

@media (hover: hover) {
  .italiapass-static-front .hover\:bg-primary\/10:hover {
    background-color: color-mix(in srgb, var(--ui-primary) 10%, transparent) !important;
  }
  .italiapass-static-front .hover\:bg-primary\/15:hover {
    background-color: color-mix(in srgb, var(--ui-primary) 15%, transparent) !important;
  }
  .italiapass-static-front .hover\:bg-primary\/75:hover {
    background-color: color-mix(in srgb, var(--ui-primary) 75%, transparent) !important;
  }
  .italiapass-static-front .italiapass-pass-toggle[aria-pressed="false"]:hover {
    background-color: color-mix(in srgb, var(--ui-primary) 10%, transparent) !important;
  }
}

.italiapass-static-front .active\:bg-primary\/10:active {
  background-color: color-mix(in srgb, var(--ui-primary) 10%, transparent) !important;
}
.italiapass-static-front .active\:bg-primary\/15:active {
  background-color: color-mix(in srgb, var(--ui-primary) 15%, transparent) !important;
}
.italiapass-static-front .active\:bg-primary\/75:active {
  background-color: color-mix(in srgb, var(--ui-primary) 75%, transparent) !important;
}

/* Premium CTA Button styling overrides */
.italiapass-static-front button.bg-primary:not(.italiapass-pass-toggle) {
  font-family: var(--font-sans) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  padding-top: 0.875rem !important; /* ~14px */
  padding-bottom: 0.875rem !important;
  padding-left: 2rem !important;     /* ~32px */
  padding-right: 2rem !important;
  border-radius: 9999px !important;
  box-shadow: 0 4px 14px 0 rgba(239, 68, 77, 0.3) !important;
  transition: all 0.2s ease-in-out !important;
}

.italiapass-static-front button.bg-primary:not(.italiapass-pass-toggle):hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px 0 rgba(239, 68, 77, 0.4) !important;
}

.italiapass-static-front button.bg-primary:not(.italiapass-pass-toggle):active {
  transform: translateY(1px) !important;
  box-shadow: 0 2px 10px 0 rgba(239, 68, 77, 0.3) !important;
}

/* Trim Tailwind Typography's default block margins in compact recovered content. */
.italiapass-static-front .prose > p:first-child {
  margin-top: 0 !important;
}

.italiapass-static-front .prose > p:last-child {
  margin-bottom: 0 !important;
}

/* Inactive Pass Toggle style enforcement to prevent shadows/backgrounds */
.italiapass-static-front button.italiapass-pass-toggle[aria-pressed="false"] {
  box-shadow: none !important;
  background-color: transparent !important;
  border: 1px solid color-mix(in srgb, var(--ui-primary) 50%, transparent) !important;
  color: var(--ui-primary) !important;
}

/* Standardize card layout styling (borders, heights, shadow) */
.italiapass-static-front #pass-list .rounded-xl.border {
  border-color: #f1f1f1 !important;
}

/* Keep the two pass cards inside the content well while preserving the featured-card treatment. */
@media (min-width: 80rem) {
  .italiapass-static-front #pass-list > div {
    overflow: visible !important;
    padding-left: clamp(4rem, 8vw, 7.5rem) !important;
    padding-right: clamp(4rem, 8vw, 7.5rem) !important;
  }

  .italiapass-static-front #pass-list .italiapass-desktop-only.grid-cols-2 {
    align-items: start;
    display: grid !important;
    gap: clamp(1.5rem, 3vw, 2.5rem) !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    margin-left: auto;
    margin-right: auto;
    max-width: 72rem;
  }

  .italiapass-static-front #pass-list .italiapass-desktop-only.grid-cols-2 > div {
    min-width: 0;
  }

  .italiapass-static-front #pass-list .italiapass-desktop-only.grid-cols-2 .relative {
    min-width: 0;
  }

  .italiapass-static-front #pass-list .italiapass-desktop-only.grid-cols-2 .scale-110 {
    --tw-scale-x: 103.5% !important;
    --tw-scale-y: 103.5% !important;
    --tw-scale-z: 103.5% !important;
    position: relative;
    scale: 1.035 !important;
    transform-origin: center top;
    z-index: 1;
  }
}

@media (min-width: 96rem) {
  .italiapass-static-front #pass-list .italiapass-desktop-only.grid-cols-2 {
    max-width: 76rem;
  }

  .italiapass-static-front #pass-list .italiapass-desktop-only.grid-cols-2 .scale-110 {
    --tw-scale-x: 105.5% !important;
    --tw-scale-y: 105.5% !important;
    --tw-scale-z: 105.5% !important;
    scale: 1.055 !important;
  }
}

/* Keep the pass comparison intro visually above the Viva/Primo column backdrop. */
.italiapass-static-front #pass-table > div {
  overflow: visible !important;
}

.italiapass-static-front #pass-table > div > div:first-child {
  isolation: isolate;
  position: relative;
  z-index: 3;
}

.italiapass-static-front #pass-table > div > div:nth-child(2) {
  isolation: isolate;
  position: relative;
  z-index: 1;
}

.italiapass-static-front #pass-table > div > div:nth-child(2) > .divide-y-2 {
  position: relative;
  z-index: 2;
}

.italiapass-static-front #pass-table .pointer-events-none.absolute.grid-cols-4 {
  z-index: 1;
}

.italiapass-static-front #pass-table .pointer-events-none.absolute.grid-cols-4 > .italiapass-desktop-only {
  height: calc(100% - 3.5rem) !important;
}

.italiapass-static-front #pass-table .italiapass-pass-chooser {
  margin-top: clamp(2rem, 5vw, 4.5rem);
  position: relative;
  z-index: 4;
}

@media (min-width: 80rem) {
  .italiapass-static-front #pass-table .pointer-events-none.absolute.grid-cols-4 {
    --tw-translate-y: -5.5rem !important;
    translate: 0 -5.5rem !important;
  }

  .italiapass-static-front #pass-table > div > div:first-child {
    padding-bottom: 4.25rem !important;
  }
}

@media (min-width: 96rem) {
  .italiapass-static-front #pass-table .pointer-events-none.absolute.grid-cols-4 {
    --tw-translate-y: -6.25rem !important;
    translate: 0 -6.25rem !important;
  }

  .italiapass-static-front #pass-table .pointer-events-none.absolute.grid-cols-4 > .italiapass-desktop-only {
    height: calc(100% - 2.75rem) !important;
  }
}

/* Sub-headings and copy font style refinements */
.italiapass-static-front h1,
.italiapass-static-front h2,
.italiapass-static-front h3,
.italiapass-static-front h4,
.italiapass-static-front h5,
.italiapass-static-front h6 {
  font-family: var(--font-sans) !important;
}

.italiapass-static-front h1 {
  font-weight: var(--font-weight-black) !important;
  letter-spacing: -0.15rem !important;
}
