:root {
  --iv-forest: #203f2a;
  --iv-forest-2: #172018;
  --iv-night: #101611;
  --iv-moss: #697d4f;
  --iv-gold: #d8a85b;
  --iv-cream: #fff8ea;
  --iv-stone: #e7dfcf;
  --iv-copper: #b96532;
  --iv-copper-strong: #985024;
  --iv-paper: #fffdf6;
  --iv-ink-muted: #4f5d4b;
  --iv-border-soft: rgba(32, 63, 42, .14);
  --iv-shadow: 0 24px 70px rgba(23, 32, 24, .14);
  --iv-shadow-soft: 0 18px 54px rgba(23, 32, 24, .09);
  --iv-page-gutter: clamp(1rem, 3vw, 2rem);
  --iv-section-gap: clamp(3rem, 7vw, 6rem);
  --iv-focus-ring: 0 0 0 3px rgba(240, 196, 125, .55);
  --iv-muted: var(--iv-ink-muted);
  --iv-radius-xl: clamp(24px, 4vw, 42px);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  overflow-x: clip;
  scroll-behavior: smooth;
}

.iv-no-copy-desktop body,
.iv-no-copy-desktop body *:not(input):not(textarea):not(select):not(option):not([contenteditable="true"]):not([contenteditable=""]) {
  -webkit-user-select: none;
  user-select: none;
}

body {
  color: var(--iv-forest-2);
  overflow-x: clip;
  background:
    radial-gradient(circle at 10% 5%, rgba(185, 101, 50, .16), transparent 28rem),
    radial-gradient(circle at 90% 0%, rgba(105, 125, 79, .18), transparent 28rem),
    var(--iv-cream);
}

.iv-directory {
  width: min(100%, 1180px);
  max-width: calc(100vw - (var(--iv-page-gutter) * 2));
  margin: clamp(1.5rem, 4vw, 3rem) auto clamp(3rem, 7vw, 6rem);
}

.iv-directory-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(2rem, 6vw, 5rem);
  border: 1px solid rgba(32, 63, 42, .13);
  border-radius: clamp(28px, 5vw, 54px);
  color: #fff;
  background:
    radial-gradient(circle at 78% 16%, rgba(216, 168, 91, .34), transparent 18rem),
    linear-gradient(135deg, rgba(16, 22, 17, .97), rgba(32, 63, 42, .9) 58%, rgba(185, 101, 50, .82));
  box-shadow: var(--iv-shadow);
}

.iv-directory-hero::after {
  content: "";
  position: absolute;
  inset: auto -10% -42% 40%;
  height: 70%;
  background: repeating-linear-gradient(135deg, rgba(255,255,255,.14) 0 1px, transparent 1px 18px);
  pointer-events: none;
  transform: rotate(-5deg);
}

.iv-directory-hero > * {
  position: relative;
  z-index: 1;
}

.iv-directory-hero--compact {
  padding: clamp(1.75rem, 5vw, 3.6rem);
}

.iv-directory-hero h1 {
  max-width: 920px;
  margin: 0;
  color: #fff;
  font-size: clamp(2.35rem, 6vw, 5.2rem);
  letter-spacing: -.065em;
  line-height: .98;
  text-wrap: balance;
}

.iv-directory-hero p {
  max-width: 720px;
  margin: 1rem 0 0;
  color: rgba(255,255,255,.86);
  font-size: clamp(1.04rem, 2vw, 1.22rem);
  line-height: 1.55;
}

.iv-directory-hero__link,
.iv-directory-card__cta {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  margin-top: 1.1rem;
  padding: .72rem 1rem;
  border-radius: 999px;
  background: var(--iv-forest);
  color: #fff;
  font-weight: 820;
  text-decoration: none;
  box-shadow: 0 14px 34px rgba(32, 63, 42, .18);
}

.iv-directory-hero__link {
  background: #fff8ea;
  color: var(--iv-forest);
}

.iv-directory-grid,
.iv-comuni-grid,
.iv-listing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.4vw, 1.5rem);
  margin-top: clamp(1.2rem, 3vw, 2rem);
}

.iv-comuni-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iv-directory-card,
.iv-comune-card,
.iv-listing-card {
  min-width: 0;
  padding: clamp(1.1rem, 2.6vw, 1.55rem);
  border: 1px solid rgba(32, 63, 42, .12);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,253,246,.96)),
    var(--iv-paper);
  box-shadow: var(--iv-shadow-soft);
}

.iv-directory-card h2,
.iv-comune-card h2,
.iv-listing-card h2 {
  margin: .45rem 0 .65rem;
  color: var(--iv-forest-2);
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  letter-spacing: -.035em;
  line-height: 1.05;
  text-wrap: balance;
}

.iv-directory-card h2 a,
.iv-comune-card h2 a,
.iv-listing-card h2 a {
  color: inherit;
  text-decoration: none;
}

.iv-directory-card p,
.iv-comune-card p,
.iv-listing-card p {
  margin: 0;
  color: var(--iv-ink-muted);
  line-height: 1.55;
}

.iv-directory-card__count,
.iv-comune-card__eyebrow,
.iv-listing-card__eyebrow,
.iv-listing-card__meta {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  padding: .35rem .62rem;
  border-radius: 999px;
  background: rgba(216, 168, 91, .18);
  color: var(--iv-copper-strong);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.iv-listing-card__meta {
  margin: 0 0 .7rem;
  background: rgba(32, 63, 42, .08);
  color: var(--iv-forest);
  letter-spacing: 0;
  text-transform: none;
}

.iv-event-comune-links {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem 1rem;
  align-items: center;
  margin: clamp(1rem, 2.2vw, 1.45rem) 0 0;
  padding: .85rem;
  border: 1px solid rgba(32, 63, 42, .12);
  border-radius: 18px;
  background: rgba(255, 248, 234, .76);
}

.iv-event-comune-links > span {
  color: var(--iv-forest-2);
  font-size: .9rem;
  font-weight: 850;
}

.iv-event-comune-links > div {
  display: flex;
  flex: 1 1 16rem;
  flex-wrap: wrap;
  gap: .5rem;
}

.iv-event-comune-links a {
  display: inline-flex;
  align-items: center;
  min-height: 2.35rem;
  padding: .48rem .78rem;
  border: 1px solid rgba(32, 63, 42, .16);
  border-radius: 999px;
  background: rgba(255, 255, 255, .86);
  color: var(--iv-forest);
  font-size: .9rem;
  font-weight: 800;
  text-decoration: none;
}

.iv-event-comune-links a:hover,
.iv-event-comune-links a:focus-visible,
.iv-event-comune-links a.is-active {
  background: var(--iv-forest);
  color: #fff;
}

.iv-comune-card dl {
  display: grid;
  grid-template-columns: repeat(5, minmax(72px, 1fr));
  gap: clamp(.55rem, 1.4vw, .75rem);
  margin: clamp(1rem, 2.2vw, 1.35rem) 0 0;
}

.iv-comune-card dl div {
  min-width: 0;
  padding: .72rem .62rem;
  border-radius: 18px;
  background: rgba(32, 63, 42, .07);
  text-align: center;
}

.iv-comune-card dt {
  color: var(--iv-ink-muted);
  font-size: .72rem;
  font-weight: 780;
  line-height: 1.12;
}

.iv-comune-card dd {
  margin: .12rem 0 0;
  color: var(--iv-forest);
  font-size: 1.18rem;
  font-weight: 900;
  line-height: 1;
}

.iv-directory-chips {
  display: flex !important;
  gap: .65rem;
  margin: clamp(1rem, 2.5vw, 1.5rem) 0 0;
  overflow-x: auto !important;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  padding: .2rem .1rem .75rem;
  scroll-padding-inline: .1rem;
  scroll-snap-type: inline proximity;
  scrollbar-width: thin;
  touch-action: pan-x;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
}

.iv-directory-chips a {
  flex: 0 0 auto;
  padding: .62rem .9rem;
  border: 1px solid rgba(32, 63, 42, .13);
  border-radius: 999px;
  background: rgba(255, 253, 246, .86);
  color: var(--iv-forest);
  font-weight: 780;
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(23, 32, 24, .07);
  scroll-snap-align: start;
}

.iv-directory-empty {
  margin-top: 1.2rem;
  padding: 1.2rem;
  border: 1px dashed rgba(32, 63, 42, .24);
  border-radius: 24px;
  background: rgba(255,253,246,.75);
  color: var(--iv-ink-muted);
}

.iv-area-list {
  display: grid;
  gap: clamp(1rem, 2.4vw, 1.5rem);
  margin-top: clamp(1.2rem, 3vw, 2rem);
}

.iv-area-panel {
  min-width: 0;
  padding: clamp(1.1rem, 2.6vw, 1.8rem);
  border: 1px solid rgba(32, 63, 42, .12);
  border-radius: 32px;
  background:
    radial-gradient(circle at 90% 5%, rgba(216, 168, 91, .16), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,253,246,.98));
  box-shadow: var(--iv-shadow-soft);
}

.iv-area-panel__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.iv-area-panel__head h2 {
  margin: .25rem 0 0;
  color: var(--iv-forest-2);
  font-size: clamp(1.65rem, 3vw, 2.45rem);
  letter-spacing: -.045em;
  line-height: 1;
}

.iv-area-panel__head h2 a {
  color: inherit;
  text-decoration: none;
}

.iv-comune-deep-links {
  margin: clamp(1rem, 2.8vw, 1.7rem) 0;
  padding: clamp(1rem, 2.5vw, 1.45rem);
  border: 1px solid rgba(32, 63, 42, .12);
  border-radius: 26px;
  background: rgba(255, 248, 234, .74);
}

.iv-comune-deep-links__head {
  margin-bottom: .9rem;
}

.iv-comune-deep-links__head h2 {
  margin: .2rem 0 0;
  color: var(--iv-forest-2);
  font-size: clamp(1.35rem, 2.5vw, 1.9rem);
  line-height: 1.08;
}

.iv-comune-deep-links__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
  gap: .75rem;
}

.iv-comune-deep-link {
  display: grid;
  min-height: 100%;
  gap: .25rem;
  padding: .95rem;
  border: 1px solid rgba(32, 63, 42, .12);
  border-radius: 18px;
  background: rgba(255, 253, 246, .9);
  color: var(--iv-forest);
  text-decoration: none;
}

.iv-comune-deep-link:hover,
.iv-comune-deep-link:focus-visible {
  border-color: rgba(32, 63, 42, .28);
  background: #fffdf6;
  transform: translateY(-1px);
}

.iv-comune-deep-link strong {
  color: var(--iv-copper-strong);
  font-size: clamp(1.65rem, 3vw, 2.15rem);
  line-height: 1;
}

.iv-comune-deep-link span {
  color: var(--iv-forest-2);
  font-weight: 850;
}

.iv-comune-deep-link small {
  color: var(--iv-ink-muted);
  font-size: .86rem;
  line-height: 1.35;
}

.iv-mini-card-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.4vw, 1.35rem);
}

.iv-mini-card {
  position: relative;
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(32, 63, 42, .1);
  border-radius: 22px;
  background: rgba(255, 253, 246, .86);
}

.iv-mini-card span {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: .28rem .55rem;
  border-radius: 999px;
  background: rgba(32, 63, 42, .08);
  color: var(--iv-forest);
  font-size: .72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.iv-mini-card h3 {
  margin: .55rem 0 .35rem;
  color: var(--iv-forest-2);
  font-size: 1.08rem;
  line-height: 1.12;
}

.iv-mini-card h3 a {
  position: relative;
  z-index: 2;
  color: inherit;
  text-decoration: none;
}

.iv-mini-card h3 a::after {
  content: "";
  position: absolute;
  inset: -2.8rem -1rem -6rem;
  z-index: 1;
}

.iv-mini-card p {
  margin: 0;
  color: var(--iv-ink-muted);
  font-size: .92rem;
  line-height: 1.45;
}

@media (max-width: 980px) {
  .iv-directory-grid,
  .iv-listing-grid,
  .iv-mini-card-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iv-comuni-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .iv-directory-grid,
  .iv-comuni-grid,
  .iv-listing-grid,
  .iv-mini-card-row {
    grid-template-columns: 1fr;
  }

  .iv-comune-card dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

a {
  color: var(--iv-forest);
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
}

a:hover {
  color: var(--iv-copper-strong);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.wp-block-button__link:focus-visible {
  outline: 0;
  box-shadow: var(--iv-focus-ring);
}

p {
  overflow-wrap: anywhere;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
}

.wp-site-blocks,
.entry-content,
.wp-block-group,
.wp-block-columns,
.wp-block-column,
.wp-block-post-template,
.wp-block-navigation,
.iv-home,
.iv-hero,
.iv-planner,
.iv-section,
.invaltaro-card {
  min-width: 0;
}

.wp-site-blocks {
  overflow: clip;
}

.wp-block-columns {
  gap: clamp(1.15rem, 3vw, 2.4rem);
}

.wp-block-column {
  overflow-wrap: anywhere;
}

.iv-home > .alignwide,
.iv-breadcrumb,
.iv-article-footer {
  width: min(100%, 1180px);
  max-width: calc(100vw - (var(--iv-page-gutter) * 2));
}

.iv-home > .alignwide {
  margin-inline: auto;
}

.iv-site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  padding-block: clamp(.65rem, 1.4vw, 1rem);
  background: rgba(255, 248, 234, .88);
  border-bottom: 1px solid rgba(32, 63, 42, .12);
  backdrop-filter: blur(18px);
}

.iv-site-header__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  width: min(100%, 1180px);
  max-width: calc(100vw - (var(--iv-page-gutter) * 2));
  margin-inline: auto;
  min-height: 54px;
  gap: clamp(.8rem, 2vw, 1.4rem);
}

.iv-site-brand {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  flex: 0 0 auto;
  min-width: 0;
}

.iv-site-logo {
  display: inline-flex;
  width: 42px !important;
  height: 42px !important;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 42px;
  text-decoration: none;
}

.iv-site-logo img {
  display: block;
  width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  max-height: 42px !important;
  object-fit: contain !important;
}

.iv-site-claim {
  margin: 0;
  color: rgba(32, 63, 42, .62);
  font-size: .76rem;
  font-weight: 780;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
}

.iv-site-sections {
  display: flex;
  flex: 1 1 620px;
  justify-content: flex-end;
  gap: .45rem;
  max-width: 100%;
}

.iv-site-section {
  display: inline-grid;
  align-content: center;
  justify-items: center;
  min-width: 0;
  padding: .58rem .78rem;
  color: var(--iv-forest-2);
  text-decoration: none;
  text-align: center;
  border: 1px solid rgba(32, 63, 42, .12);
  border-radius: 999px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .82), rgba(250, 236, 205, .58));
  box-shadow: 0 10px 24px rgba(23, 32, 24, .055);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.iv-site-section span {
  display: block;
  font-size: .9rem;
  font-weight: 860;
  line-height: 1;
  letter-spacing: -.01em;
}

.iv-site-section small {
  margin-top: .16rem;
  color: rgba(32, 63, 42, .62);
  font-size: .68rem;
  font-weight: 760;
  line-height: 1;
  white-space: nowrap;
}

.iv-site-section:hover,
.iv-site-section:focus-visible {
  color: var(--iv-forest-2);
  border-color: rgba(176, 122, 57, .38);
  background:
    radial-gradient(circle at 18% 20%, rgba(242, 207, 143, .34), transparent 4rem),
    rgba(255, 251, 241, .96);
  box-shadow: 0 16px 34px rgba(23, 32, 24, .1);
  transform: translateY(-1px);
}

.iv-site-section--primary {
  color: #fff;
  border-color: rgba(32, 63, 42, .18);
  background:
    radial-gradient(circle at 20% 15%, rgba(242, 207, 143, .22), transparent 4rem),
    linear-gradient(135deg, var(--iv-forest), var(--iv-forest-2));
}

.iv-site-section--primary small {
  color: rgba(255, 255, 255, .74);
}

.iv-site-section--primary:hover,
.iv-site-section--primary:focus-visible {
  color: #fff;
  border-color: rgba(242, 207, 143, .48);
  background:
    radial-gradient(circle at 20% 15%, rgba(242, 207, 143, .3), transparent 4rem),
    linear-gradient(135deg, #244f34, #142a1d);
}

.iv-site-section--app {
  border-color: rgba(176, 122, 57, .24);
  background:
    linear-gradient(145deg, rgba(242, 207, 143, .38), rgba(255, 249, 232, .88));
}

.iv-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
  margin: clamp(.45rem, 1.2vw, .85rem) auto clamp(.75rem, 1.8vw, 1.2rem);
  color: var(--iv-ink-muted);
  font-size: .92rem;
  font-weight: 750;
}

.iv-page .iv-breadcrumb:first-child,
.iv-single .iv-breadcrumb:first-child,
.iv-archive .iv-breadcrumb:first-child,
.iv-poi-detail > .iv-breadcrumb:first-child {
  margin-top: clamp(.2rem, .6vw, .42rem);
}

.iv-breadcrumb a {
  color: var(--iv-forest);
  text-decoration-thickness: 1px;
  text-underline-offset: .24em;
}

.iv-breadcrumb__sep {
  color: rgba(32, 63, 42, .35);
}

.invaltaro-seo-preview {
  display: grid;
  gap: .55rem;
}

.invaltaro-seo-preview p {
  margin: 0;
  padding: .65rem;
  border: 1px solid rgba(32, 63, 42, .12);
  border-radius: 12px;
  background: #fffdf6;
}

.invaltaro-seo-preview code {
  white-space: normal;
  word-break: break-word;
}

.iv-home {
  padding-bottom: clamp(3rem, 8vw, 7rem);
}

.iv-home h1,
.iv-home h2,
.iv-home h3 {
  text-wrap: balance;
}

.iv-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .58fr);
  gap: clamp(1.3rem, 4vw, 3rem);
  align-items: end;
  min-height: clamp(600px, 80vh, 820px);
  margin-top: clamp(1rem, 3vw, 2rem) !important;
  padding: clamp(2rem, 7vw, 5.5rem);
  overflow: hidden;
  border-radius: clamp(28px, 5vw, 58px);
  color: #fff;
  background:
    linear-gradient(135deg, rgba(16, 22, 17, .92), rgba(32, 63, 42, .6)),
    radial-gradient(circle at 80% 20%, rgba(233, 178, 88, .35), transparent 22rem),
    linear-gradient(135deg, #101611, #203f2a 50%, #b96532);
  box-shadow: var(--iv-shadow);
}

.iv-hero::after {
  content: "";
  position: absolute;
  inset: auto -10% -22% 38%;
  height: 50%;
  background: repeating-linear-gradient(135deg, rgba(255,255,255,.16) 0 1px, transparent 1px 18px);
  transform: rotate(-4deg);
  pointer-events: none;
}

.iv-hero__content,
.iv-hero__panel {
  position: relative;
  z-index: 1;
}

.iv-kicker {
  margin-bottom: .75rem !important;
  color: var(--iv-copper);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.iv-hero .iv-kicker,
.iv-section--forest .iv-kicker {
  color: #f0c47d;
}

.iv-hero__title {
  max-width: 880px;
  margin-bottom: 1.1rem !important;
  color: #fff !important;
  font-size: clamp(3rem, 8vw, 7.2rem);
  letter-spacing: -.075em;
}

.iv-hero__lead {
  max-width: 680px;
  color: rgba(255, 255, 255, .86);
  font-size: clamp(1.08rem, 2vw, 1.35rem);
  line-height: 1.55;
}

.iv-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 1.6rem;
}

.iv-button-primary .wp-block-button__link,
.iv-card__cta,
.invaltaro-card__cta {
  background: var(--iv-forest) !important;
  color: #fff !important;
  border-radius: 999px;
  box-shadow: 0 14px 34px rgba(32, 63, 42, .22);
}

.iv-button-primary .wp-block-button__link:hover,
.iv-card__cta:hover,
.invaltaro-card__cta:hover {
  background: var(--iv-copper-strong) !important;
  color: #fff !important;
}

.iv-button-outline .wp-block-button__link {
  border-color: rgba(255,255,255,.62) !important;
  color: #fff !important;
  border-radius: 999px;
}

.iv-button-outline .wp-block-button__link:hover {
  border-color: #fff !important;
  background: rgba(255,255,255,.16) !important;
  color: #fff !important;
}

.iv-hero__panel {
  align-self: end;
  margin: clamp(.8rem, 2vw, 1.4rem);
  padding: clamp(1.35rem, 2.8vw, 2rem);
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 34px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.08));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.26),
    0 24px 52px rgba(23,32,24,.18);
  backdrop-filter: blur(20px);
}

.iv-panel-label {
  margin: 0 0 .7rem !important;
  color: #fff;
  font-weight: 850;
}

.iv-feature-list {
  margin: 0;
  padding-left: 1.1rem;
  color: rgba(255,255,255,.84);
}

.iv-feature-list li + li {
  margin-top: .55rem;
}

.iv-hero-finder {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 1.15rem;
  padding-inline: clamp(.35rem, 1.4vw, .75rem);
}

.iv-search {
  width: 100%;
  box-sizing: border-box;
}

.iv-search .wp-block-search__inside-wrapper {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  box-sizing: border-box;
  gap: .18rem;
  padding: .24rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 16px 40px rgba(23, 32, 24, .2);
}

.iv-search input[type="search"] {
  min-width: 0;
  min-height: 48px;
  padding: .65rem 1rem;
  border: 0;
  background: transparent;
  color: var(--iv-forest-2);
}

.iv-search .wp-block-search__button {
  min-height: 42px;
  margin: 0;
  border: 0;
  border-radius: 999px;
  background: var(--iv-copper);
  color: #fff;
  font-weight: 850;
}

.iv-finder-links {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: .75rem 0 0 !important;
}

.iv-finder-links a {
  display: inline-flex;
  padding: .38rem .68rem;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 999px;
  color: #fff;
  font-size: .86rem;
  font-weight: 800;
  text-decoration: none;
}

.iv-section-nav {
  position: relative;
  display: flex;
  gap: clamp(.18rem, .55vw, .34rem);
  justify-content: center;
  flex-wrap: wrap !important;
  margin-top: clamp(1rem, 2.5vw, 1.6rem);
  padding: clamp(.34rem, .72vw, .46rem);
  overflow-x: visible;
  overscroll-behavior-inline: contain;
  border: 1px solid rgba(32, 63, 42, .1);
  border-radius: 999px;
  background: rgba(255, 253, 246, .74);
  box-shadow: var(--iv-shadow-soft);
  backdrop-filter: blur(16px);
  scrollbar-width: thin;
  scroll-snap-type: inline proximity;
  touch-action: pan-x;
  -webkit-overflow-scrolling: touch;
}

.iv-section-nav p {
  flex: 0 0 auto;
  margin: 0 !important;
  display: flex;
  align-items: stretch;
  white-space: nowrap;
  scroll-snap-align: start;
}

.iv-section-nav a {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 clamp(.44rem, .85vw, .66rem);
  border-radius: 999px;
  color: var(--iv-forest);
  font-size: clamp(.68rem, .78vw, .78rem);
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  scroll-snap-align: start;
}

.iv-section-nav a:hover {
  background: var(--iv-forest);
  color: #fffdf6;
}

.iv-planner {
  display: grid;
  grid-template-columns: minmax(240px, .5fr) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
  min-width: 0;
  margin-top: clamp(1.4rem, 4vw, 2.5rem);
  padding: clamp(1.25rem, 3vw, 2.35rem);
  overflow: clip;
  border: 1px solid rgba(32, 63, 42, .12);
  border-radius: 34px;
  background:
    radial-gradient(circle at 8% 0%, rgba(216,168,91,.14), transparent 14rem),
    rgba(255,253,246,.9);
  box-shadow: var(--iv-shadow-soft);
}

.iv-planner__intro h2 {
  margin: 0;
  font-size: clamp(1.65rem, 3vw, 2.7rem);
  letter-spacing: -.045em;
}

.iv-planner__intro p:not(.iv-kicker) {
  max-width: 34rem;
  color: var(--iv-ink-muted);
}

.iv-intent-grid {
  display: flex !important;
  grid-template-columns: none !important;
  flex-wrap: nowrap;
  gap: .75rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-inline: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: .15rem clamp(1rem, 2vw, 1.35rem) .9rem .15rem;
  scroll-padding-inline: .15rem;
  scroll-snap-type: x proximity;
  scrollbar-gutter: stable;
  scrollbar-color: rgba(152, 80, 36, .58) rgba(32, 63, 42, .08);
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  mask-image: linear-gradient(90deg, #000 calc(100% - 1.8rem), transparent);
}

.iv-intent-pill {
  display: grid;
  flex: 0 0 clamp(170px, 19vw, 220px);
  gap: .15rem;
  min-height: 94px;
  min-width: 0;
  margin: 0 !important;
  padding: 0;
  scroll-snap-align: start;
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(255,248,234,.9), rgba(231,223,207,.52));
  box-shadow: inset 0 0 0 1px rgba(32, 63, 42, .08);
}

.iv-intent-pill a {
  display: grid;
  align-content: start;
  gap: .15rem;
  min-height: 100%;
  padding: .9rem;
  border-radius: inherit;
  color: inherit;
  text-decoration: none;
}

.iv-intent-pill a:focus-visible {
  outline: 3px solid rgba(185, 101, 50, .34);
  outline-offset: 3px;
}

.iv-intent-pill:focus-within,
.iv-intent-pill:hover {
  box-shadow: inset 0 0 0 1px rgba(185,101,50,.28), 0 12px 28px rgba(23,32,24,.08);
}

.iv-intent-pill strong {
  color: var(--iv-forest);
  font-size: 1.08rem;
}

.iv-intent-pill span {
  color: var(--iv-ink-muted);
  font-size: .9rem;
}

.iv-travel-board {
  position: relative;
  display: grid;
  gap: clamp(1rem, 3vw, 1.6rem);
  min-width: 0;
  margin-top: clamp(1.6rem, 4vw, 3.2rem);
  padding: clamp(1.2rem, 3.4vw, 2.2rem);
  overflow: hidden;
  border: 1px solid rgba(32, 63, 42, .12);
  border-radius: clamp(26px, 4vw, 42px);
  background:
    radial-gradient(circle at 8% 0%, rgba(216, 168, 91, .18), transparent 16rem),
    radial-gradient(circle at 100% 22%, rgba(32, 63, 42, .12), transparent 18rem),
    linear-gradient(145deg, rgba(255, 253, 246, .96), rgba(244, 234, 214, .72));
  box-shadow: var(--iv-shadow-soft);
}

.iv-travel-board::after {
  content: "";
  position: absolute;
  inset: auto -10% -38% 38%;
  height: 70%;
  pointer-events: none;
  background: repeating-linear-gradient(135deg, rgba(32, 63, 42, .07) 0 1px, transparent 1px 18px);
  transform: rotate(-5deg);
}

.iv-travel-board__head,
.iv-travel-board__grid {
  position: relative;
  z-index: 1;
}

.iv-travel-board__head {
  display: grid;
  gap: .45rem;
  margin: 0;
}

.iv-travel-board__head h2 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.6rem);
  letter-spacing: -.055em;
}

.iv-travel-board__head p:not(.iv-kicker) {
  max-width: 44rem;
  margin: 0;
  color: var(--iv-ink-muted);
  font-size: clamp(1rem, 1.45vw, 1.12rem);
  line-height: 1.6;
}

.iv-travel-board__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(.85rem, 2vw, 1.15rem);
}

.iv-travel-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 238px;
  flex-direction: column;
  gap: .65rem;
  overflow: hidden;
  padding: clamp(1rem, 2.2vw, 1.35rem);
  border: 1px solid rgba(32, 63, 42, .12);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255, 253, 246, .98), rgba(251, 244, 228, .88));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .76),
    0 14px 36px rgba(23, 32, 24, .075);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.iv-travel-card::before {
  content: "";
  position: absolute;
  inset: auto -22% -30% 45%;
  height: 56%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(216, 168, 91, .2), transparent 70%);
}

.iv-travel-card:hover {
  transform: translateY(-3px);
  border-color: rgba(185, 101, 50, .24);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .8),
    0 24px 62px rgba(23, 32, 24, .12);
}

.iv-travel-card > * {
  position: relative;
  z-index: 1;
}

.iv-travel-card--event {
  color: #fffdf6;
  border-color: rgba(242, 207, 143, .22);
  background:
    radial-gradient(circle at 88% 6%, rgba(242, 207, 143, .28), transparent 12rem),
    linear-gradient(145deg, #121b14, #203f2a);
}

.iv-travel-card__index {
  display: inline-flex;
  width: fit-content;
  margin: 0 !important;
  padding: .34rem .58rem;
  border: 1px solid rgba(185, 101, 50, .14);
  border-radius: 999px;
  background: rgba(242, 207, 143, .2);
  color: var(--iv-copper-strong);
  font-size: .74rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .08em;
}

.iv-travel-card--event .iv-travel-card__index {
  border-color: rgba(242, 207, 143, .32);
  color: var(--iv-brass-light, #f2cf8f);
  background: rgba(255, 253, 246, .1);
}

.iv-travel-card h3 {
  margin: .1rem 0 0;
  color: var(--iv-forest-2);
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  line-height: 1.02;
  letter-spacing: -.04em;
}

.iv-travel-card--event h3,
.iv-travel-card--event p,
.iv-travel-card--event a {
  color: #fffdf6;
}

.iv-travel-card p:not(.iv-travel-card__index):not(.iv-card-link) {
  margin: 0;
  color: var(--iv-ink-muted);
  line-height: 1.5;
}

.iv-travel-card--event p:not(.iv-travel-card__index):not(.iv-card-link) {
  color: rgba(255, 253, 246, .82);
}

.iv-travel-card .iv-card-link {
  margin-top: auto !important;
}

.iv-travel-card .iv-card-link a {
  width: fit-content;
  padding: .58rem .82rem;
  border: 1px solid rgba(32, 63, 42, .14);
  border-radius: 999px;
  background: rgba(255, 253, 246, .76);
  color: var(--iv-copper-strong);
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(23, 32, 24, .07);
}

.iv-travel-card--event .iv-card-link a {
  border-color: rgba(242, 207, 143, .3);
  background: rgba(255, 253, 246, .1);
  color: var(--iv-brass-light, #f2cf8f);
}

.iv-travel-card .iv-card-link a:hover {
  background: var(--iv-copper-strong);
  color: #fffdf6;
}

.iv-travel-card--event .iv-card-link a:hover {
  background: rgba(242, 207, 143, .18);
  color: #fffdf6;
}

.iv-quick-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: clamp(1.6rem, 4vw, 3rem);
  gap: clamp(1rem, 2.4vw, 1.35rem);
  align-items: stretch;
}

.iv-dynamic-home {
  position: relative;
  display: grid;
  grid-template-columns: minmax(240px, .44fr) minmax(0, 1fr);
  gap: clamp(1.2rem, 4vw, 3rem);
  align-items: stretch;
  margin-top: clamp(2rem, 5vw, 4rem);
  padding: clamp(1.4rem, 4vw, 3rem);
  overflow: hidden;
  border: 1px solid rgba(32, 63, 42, .12);
  border-radius: clamp(24px, 4vw, 42px);
  background:
    radial-gradient(circle at 12% 18%, rgba(185,101,50,.18), transparent 18rem),
    radial-gradient(circle at 92% 4%, rgba(105,125,79,.2), transparent 18rem),
    linear-gradient(135deg, rgba(255,253,246,.96), rgba(231,223,207,.7));
  box-shadow: var(--iv-shadow);
}

.iv-dynamic-home::after {
  content: "";
  position: absolute;
  inset: auto -8% -22% 45%;
  height: 46%;
  background: repeating-linear-gradient(135deg, rgba(32,63,42,.08) 0 1px, transparent 1px 16px);
  transform: rotate(-5deg);
  pointer-events: none;
}

.iv-dynamic-home__intro,
.iv-dynamic-home__grid {
  position: relative;
  z-index: 1;
}

.iv-dynamic-home__intro h2 {
  margin-top: 0;
  color: var(--iv-forest-2);
  font-size: clamp(2rem, 4vw, 3.8rem);
  letter-spacing: -.055em;
}

.iv-dynamic-home__intro p:not(.iv-kicker) {
  color: #53614f;
  font-size: clamp(1rem, 1.7vw, 1.16rem);
}

.iv-dynamic-home__grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.05fr) repeat(auto-fit, minmax(180px, .78fr));
  gap: 1rem;
}

.iv-dynamic-home__grid--fallback {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.iv-dynamic-card {
  min-width: 0;
  padding: clamp(1rem, 2.2vw, 1.35rem);
  border: 1px solid rgba(32,63,42,.12);
  border-radius: 26px;
  background: rgba(255,253,246,.86);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 16px 44px rgba(23,32,24,.08);
}

.iv-dynamic-card,
.iv-article-footer-card,
.iv-story-card,
.iv-quick-card,
.iv-idea-card,
.invaltaro-card {
  overflow-wrap: anywhere;
}

.iv-dynamic-card--event {
  color: #fff;
  background:
    radial-gradient(circle at 92% 10%, rgba(240,196,125,.28), transparent 11rem),
    linear-gradient(145deg, #172018, #203f2a);
}

.iv-home .is-card-linkable {
  cursor: pointer;
  touch-action: manipulation;
}

.iv-home .is-card-linkable:focus-visible {
  outline: 3px solid rgba(185, 101, 50, .34);
  outline-offset: 4px;
}

.iv-home .is-card-linkable a {
  text-decoration: none !important;
  text-decoration-color: transparent !important;
}

.iv-dynamic-card--event h3,
.iv-dynamic-card--event a,
.iv-dynamic-card--event p,
.iv-dynamic-card--event dt,
.iv-dynamic-card--event dd {
  color: inherit;
}

.iv-dynamic-card__eyebrow {
  display: inline-flex;
  margin-bottom: .65rem;
  color: var(--iv-copper);
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.iv-dynamic-card--event .iv-dynamic-card__eyebrow {
  color: #f0c47d;
}

.iv-dynamic-card h3 {
  margin: 0 0 .7rem;
  font-size: clamp(1.25rem, 2.1vw, 1.7rem);
  letter-spacing: -.03em;
}

.iv-dynamic-card h3 a,
.iv-dynamic-list a {
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
}

.iv-dynamic-card p {
  margin-bottom: 0;
  color: var(--iv-ink-muted);
}

.iv-dynamic-card dl {
  display: grid;
  gap: .45rem;
  margin: 1rem 0;
}

.iv-dynamic-card dl div {
  display: grid;
  gap: .1rem;
}

.iv-dynamic-card dt {
  color: rgba(255,255,255,.68);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.iv-dynamic-card dd {
  margin: 0;
  font-weight: 780;
}

.iv-dynamic-card__cta {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  margin-top: .5rem;
  padding: 0 1rem;
  border-radius: 999px;
  background: #f0c47d;
  color: #172018 !important;
  font-weight: 900;
  text-decoration: none;
}

.iv-dynamic-list {
  display: grid;
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.iv-dynamic-list li {
  display: grid;
  gap: .2rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid rgba(32,63,42,.1);
}

.iv-dynamic-list li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.iv-dynamic-list a {
  color: var(--iv-forest);
  font-weight: 900;
}

.iv-ready-proposals {
  margin-top: clamp(2.5rem, 6vw, 5rem);
  min-width: 0;
  padding: clamp(1.15rem, 3vw, 1.65rem);
  overflow: clip;
  border: 1px solid var(--iv-border-soft);
  border-radius: clamp(24px, 4vw, 40px);
  background:
    radial-gradient(circle at 8% 0%, rgba(240, 196, 125, .18), transparent 16rem),
    linear-gradient(135deg, rgba(255, 253, 246, .9), rgba(238, 232, 210, .78));
  box-shadow: var(--iv-shadow);
}

.iv-ready-proposals__head {
  max-width: 760px;
  margin-bottom: 1.1rem;
}

.iv-ready-proposals__head h2 {
  margin-top: 0;
  color: var(--iv-forest-2);
  font-size: clamp(1.9rem, 4vw, 3.5rem);
  letter-spacing: -.055em;
}

.iv-ready-proposals__head p:not(.iv-kicker) {
  color: var(--iv-ink-muted);
}

.iv-ready-proposals__rail {
  display: grid;
  grid-auto-columns: minmax(260px, 1fr);
  grid-auto-flow: column;
  gap: clamp(1.25rem, 3vw, 1.6rem);
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: .2rem clamp(1rem, 2vw, 1.35rem) .95rem .2rem;
  scroll-snap-type: x proximity;
  scrollbar-color: rgba(152, 80, 36, .5) rgba(32, 63, 42, .08);
  touch-action: pan-x;
  -webkit-overflow-scrolling: touch;
  mask-image: linear-gradient(90deg, #000 calc(100% - 1.8rem), transparent);
}

.iv-swipe-rail {
  cursor: grab;
}

.iv-swipe-rail.is-swiping {
  cursor: grabbing;
  scroll-behavior: auto;
}

.iv-swipe-rail.is-swiping,
.iv-swipe-rail.is-swiping * {
  -webkit-user-select: none;
  user-select: none;
}

.iv-ready-proposal {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
  padding: clamp(1rem, 2.2vw, 1.35rem);
  overflow-wrap: anywhere;
  border: 1px solid rgba(32, 63, 42, .12);
  border-radius: 28px;
  background: rgba(255, 253, 246, .92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .68), 0 14px 36px rgba(23, 32, 24, .07);
  scroll-snap-align: start;
}

.iv-ready-proposal--event {
  background:
    radial-gradient(circle at 88% 4%, rgba(240, 196, 125, .24), transparent 10rem),
    linear-gradient(145deg, #172018, #203f2a);
}

.iv-ready-proposal--event,
.iv-ready-proposal--event a,
.iv-ready-proposal--event p,
.iv-ready-proposal--event h3 {
  color: #fffdf6;
}

.iv-ready-proposal__kicker {
  color: var(--iv-copper-strong);
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.iv-ready-proposal--event .iv-ready-proposal__kicker {
  color: #f0c47d;
}

.iv-ready-proposal h3 {
  margin: .55rem 0 .6rem;
  color: var(--iv-forest-2);
  font-size: clamp(1.25rem, 2.2vw, 1.7rem);
  letter-spacing: -.035em;
}

.iv-ready-proposal p {
  margin: 0 0 1rem;
  color: var(--iv-ink-muted);
}

.iv-ready-proposal__reason {
  margin-top: -.25rem !important;
  padding: .72rem .82rem;
  border: 1px solid rgba(32, 63, 42, .1);
  border-radius: 18px;
  background: rgba(255, 248, 234, .72);
  font-size: .93rem;
  line-height: 1.38;
}

.iv-ready-proposal--event .iv-ready-proposal__reason {
  border-color: rgba(240, 196, 125, .24);
  background: rgba(255, 253, 246, .08);
  color: rgba(255, 253, 246, .86);
}

.iv-ready-proposal__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin: -.15rem 0 1rem;
}

.iv-ready-proposal__meta span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 .58rem;
  border: 1px solid rgba(32, 63, 42, .12);
  border-radius: 999px;
  background: rgba(32, 63, 42, .06);
  color: var(--iv-forest);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.iv-ready-proposal--event .iv-ready-proposal__meta span {
  border-color: rgba(240, 196, 125, .28);
  background: rgba(240, 196, 125, .14);
  color: #f0c47d;
}

.iv-ready-proposal ul {
  display: grid;
  gap: .7rem;
  margin: auto 0 1rem;
  padding: 0;
  list-style: none;
}

.iv-ready-proposal li {
  display: grid;
  gap: .1rem;
}

.iv-ready-proposal li span {
  color: var(--iv-copper-strong);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.iv-ready-proposal--event li span {
  color: #f0c47d;
}

.iv-ready-proposal li a {
  color: var(--iv-forest);
  font-weight: 900;
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
}

.iv-ready-proposal__cta {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 40px;
  padding: 0 .9rem;
  border-radius: 999px;
  background: #f0c47d;
  color: #172018 !important;
  font-weight: 900;
  text-decoration: none;
}

.iv-signature {
  overflow: hidden;
  border: 1px solid rgba(32, 63, 42, .1);
  background:
    radial-gradient(circle at 8% 12%, rgba(216,168,91,.18), transparent 16rem),
    radial-gradient(circle at 100% 0%, rgba(32,63,42,.14), transparent 20rem),
    rgba(255, 253, 246, .82);
  box-shadow: var(--iv-shadow-soft);
}

.iv-signature h2,
.iv-app-cta h2 {
  margin-top: 0;
  font-size: clamp(2rem, 4.4vw, 4.3rem);
  letter-spacing: -.06em;
}

.iv-signature p:not(.iv-kicker),
.iv-app-cta p:not(.iv-kicker) {
  color: var(--iv-ink-muted);
  font-size: clamp(1rem, 1.5vw, 1.12rem);
  line-height: 1.62;
}

.iv-proof-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(.9rem, 2vw, 1.15rem);
  align-items: stretch;
}

.iv-proof-card {
  display: grid;
  gap: .35rem;
  min-height: 168px;
  margin: 0 !important;
  padding: clamp(1rem, 2vw, 1.25rem);
  border: 1px solid rgba(32, 63, 42, .1);
  border-radius: 26px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.7), rgba(255,248,234,.56)),
    var(--iv-paper);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 14px 34px rgba(23,32,24,.06);
}

.iv-proof-card a {
  display: grid;
  min-height: calc(168px - (clamp(1rem, 2vw, 1.25rem) * 2));
  align-content: start;
  gap: .42rem;
  color: inherit;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
}

.iv-proof-card a:hover,
.iv-proof-card a:focus-visible {
  color: inherit;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
  outline: none;
}

.iv-proof-card strong {
  color: var(--iv-forest);
  font-size: 1.18rem;
}

.iv-proof-card span {
  color: var(--iv-ink-muted);
  line-height: 1.4;
}

.iv-proof-card em {
  display: inline-flex;
  width: fit-content;
  margin-top: auto;
  padding-top: .85rem;
  color: var(--iv-copper-strong);
  font-size: .78rem;
  font-style: normal;
  font-weight: 900;
}

.iv-proof-card em::after {
  content: "";
  width: .42rem;
  height: .42rem;
  margin-left: .46rem;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

.iv-proof-card:hover em,
.iv-proof-card:focus-within em {
  color: var(--iv-copper-strong);
  transform: translateX(2px);
}

.iv-dynamic-list span {
  color: #63705f;
  font-size: .92rem;
}

.iv-article-footer {
  position: relative;
  isolation: isolate;
  margin: clamp(2.5rem, 6vw, 5rem) auto 0;
  padding: clamp(1.3rem, 4vw, 3rem);
  overflow: hidden;
  border: 1px solid rgba(32,63,42,.12);
  border-radius: clamp(24px, 4vw, 42px);
  background:
    radial-gradient(circle at 8% 0%, rgba(240,196,125,.18), transparent 16rem),
    linear-gradient(135deg, rgba(255,253,246,.96), rgba(231,223,207,.68));
  box-shadow: var(--iv-shadow);
}

.iv-article-footer::after {
  content: "";
  position: absolute;
  inset: auto -8% -30% 42%;
  height: 62%;
  pointer-events: none;
  background: repeating-linear-gradient(135deg, rgba(32, 63, 42, .065) 0 1px, transparent 1px 18px);
  transform: rotate(-5deg);
}

.iv-article-footer__head {
  position: relative;
  z-index: 1;
  max-width: min(100%, 1040px);
  margin-bottom: clamp(1rem, 3vw, 2rem);
}

.iv-article-footer__head h2 {
  margin-top: 0;
  color: var(--iv-forest-2);
  font-size: clamp(1.8rem, 3.8vw, 3.4rem);
  letter-spacing: -.055em;
}

.iv-article-footer__head p:not(.iv-kicker) {
  color: #53614f;
}

.iv-article-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .65rem;
  margin-top: .85rem;
  align-items: center;
  font-size: .94rem;
  letter-spacing: 0;
}

.iv-article-footer__links a {
  color: var(--iv-forest-2);
  font-weight: 800;
  text-decoration-color: rgba(185, 101, 50, .45);
  text-underline-offset: .18em;
}

.iv-article-footer__links a:hover,
.iv-article-footer__links a:focus-visible {
  color: #b96532;
}

.iv-article-footer__links span {
  color: rgba(83, 97, 79, .55);
}

.iv-event-facts {
  margin-top: clamp(.8rem, 2vw, 1.2rem);
  margin-bottom: clamp(1.4rem, 3vw, 2rem);
  padding: clamp(1rem, 2.2vw, 1.35rem);
  border: 1px solid rgba(32, 63, 42, .12);
  border-radius: 18px;
  background: rgba(255, 253, 246, .84);
  box-shadow: 0 16px 42px rgba(23, 32, 24, .07);
}

.iv-event-facts__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: .85rem;
  margin: 0;
}

.iv-event-facts__grid div {
  min-width: 0;
}

.iv-event-facts__grid dt {
  margin-bottom: .2rem;
  color: #6e7a66;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.iv-event-facts__grid dd {
  margin: 0;
  color: var(--iv-forest-2);
  font-weight: 800;
  line-height: 1.35;
}

.iv-event-facts__links {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .65rem;
  margin: .9rem 0 0;
  align-items: center;
  color: #53614f;
  font-size: .94rem;
}

.iv-event-facts__links a {
  color: var(--iv-forest-2);
  font-weight: 800;
  text-decoration-color: rgba(185, 101, 50, .45);
  text-underline-offset: .18em;
}

.iv-event-facts__links a:hover,
.iv-event-facts__links a:focus-visible {
  color: #b96532;
}

.iv-article-footer__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(.85rem, 2vw, 1rem);
}

.iv-article-footer-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  min-width: 0;
  padding: clamp(1rem, 2.2vw, 1.25rem);
  border: 1px solid rgba(32,63,42,.1);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255, 253, 246, .98), rgba(251, 244, 228, .9));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.74),
    0 14px 36px rgba(23,32,24,.07);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.iv-article-footer-card:hover {
  transform: translateY(-3px);
  border-color: rgba(185, 101, 50, .24);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 24px 62px rgba(23,32,24,.12);
}

.iv-article-footer-card--action {
  background-color: #203f2a;
  background-image:
    radial-gradient(circle at 85% 8%, #355f3f, transparent 9rem);
  color: #fff;
}

.iv-article-footer-card--action a,
.iv-article-footer-card--action p,
.iv-article-footer-card--action span {
  color: inherit;
}

.iv-article-footer-card--action li a {
  color: #fffdf6;
}

.iv-article-footer-card--action li a:hover {
  color: #f0c47d;
}

.iv-article-footer-card--action li span {
  color: rgba(255, 253, 246, .72);
}

.iv-article-footer-card__label {
  display: inline-flex;
  width: fit-content;
  margin-bottom: .75rem;
  padding: .32rem .56rem;
  border: 1px solid rgba(185, 101, 50, .12);
  border-radius: 999px;
  background: rgba(242, 207, 143, .18);
  color: var(--iv-copper);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.iv-article-footer-card--action .iv-article-footer-card__label {
  border-color: rgba(242, 207, 143, .28);
  background: rgba(255, 253, 246, .1);
  color: #f0c47d;
}

.iv-article-footer-card ul {
  display: grid;
  gap: .8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.iv-article-footer-card li {
  display: grid;
  gap: .2rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid rgba(32,63,42,.1);
}

.iv-article-footer-card--action li {
  border-color: rgba(255,255,255,.16);
  background-color: #203f2a;
}

.iv-article-footer-card li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.iv-article-footer-card li a {
  color: var(--iv-forest);
  font-weight: 900;
  line-height: 1.15;
  text-decoration: none;
}

.iv-article-footer-card h3 {
  margin: .2rem 0 .55rem;
  color: var(--iv-forest-2);
  font-size: clamp(1.08rem, 1.8vw, 1.35rem);
  line-height: 1.08;
}

.iv-article-footer-card h3 a {
  color: inherit;
  text-decoration: none;
}

.iv-article-footer-card h3 a:hover {
  color: var(--iv-copper-strong);
}

.iv-article-footer-card li a:hover {
  color: var(--iv-copper-strong);
}

.iv-article-footer-card li span {
  color: #657160;
  font-size: .9rem;
}

.iv-article-footer-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 40px;
  margin-top: auto;
  padding: .58rem .9rem;
  border-radius: 999px;
  background: #f0c47d;
  color: #172018 !important;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(240, 196, 125, .18);
}

.iv-article-footer-card__cta:hover {
  background: #fffdf6;
  color: var(--iv-forest) !important;
}

.iv-article-footer__grid--fallback {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.iv-article-footer--fallback .iv-article-footer__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.iv-article-footer--fallback .iv-article-footer-card {
  padding: clamp(.85rem, 1.5vw, 1rem);
  border-radius: 22px;
}

.iv-article-footer--fallback .iv-article-footer-card__label {
  margin-bottom: .55rem;
  padding: .24rem .46rem;
  font-size: .62rem;
  letter-spacing: .08em;
}

.iv-article-footer--fallback .iv-article-footer-card h3 {
  margin: .15rem 0 .42rem;
  font-size: clamp(.94rem, 1.25vw, 1.08rem);
  line-height: 1.16;
}

.iv-article-footer--fallback .iv-article-footer-card p {
  margin: 0 0 .8rem;
  color: #53614f;
  font-size: clamp(.82rem, 1vw, .92rem);
  line-height: 1.42;
}

.iv-article-footer--fallback .iv-article-footer-card__cta {
  min-height: 34px;
  padding: .46rem .68rem;
  font-size: .78rem;
}

@media (max-width: 1100px) {
  .iv-article-footer__grid {
    display: flex;
    grid-template-columns: none;
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: .15rem 1rem .95rem .15rem;
    scroll-padding-inline: .15rem;
    scroll-snap-type: inline proximity;
    scrollbar-width: thin;
    scrollbar-color: rgba(111, 63, 36, .48) rgba(32, 63, 42, .08);
    -webkit-overflow-scrolling: touch;
    mask-image: linear-gradient(90deg, #000 calc(100% - 2.8rem), transparent);
  }

  .iv-article-footer-card {
    flex: 0 0 min(82vw, 300px);
    scroll-snap-align: start;
  }

  .iv-article-footer--fallback .iv-article-footer__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: visible;
    padding: 0;
    mask-image: none;
  }

  .iv-article-footer--fallback .iv-article-footer-card {
    flex: initial;
  }
}

@media (max-width: 760px) {
  .iv-article-footer--fallback .iv-article-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.iv-stories-strip {
  display: grid;
  grid-template-columns: minmax(240px, .36fr) minmax(0, 1fr);
  gap: clamp(1rem, 4vw, 2.5rem);
  align-items: stretch;
  margin-top: clamp(3rem, 7vw, 6rem);
  padding: clamp(1.3rem, 4vw, 3rem);
  overflow: hidden;
  border: 1px solid rgba(32,63,42,.12);
  border-radius: clamp(24px, 4vw, 42px);
  background:
    radial-gradient(circle at 6% 12%, rgba(240,196,125,.2), transparent 15rem),
    linear-gradient(135deg, rgba(32,63,42,.96), rgba(23,32,24,.96));
  box-shadow: var(--iv-shadow);
}

.iv-stories-strip__head {
  min-width: 0;
}

.iv-stories-strip__head h2,
.iv-stories-strip__head p {
  color: #fffdf6;
}

.iv-stories-strip__head h2 {
  margin-top: 0;
  font-size: clamp(1.8rem, 3.6vw, 3.2rem);
  letter-spacing: -.055em;
}

.iv-stories-strip__head p:not(.iv-kicker) {
  color: rgba(255,253,246,.72);
}

.iv-stories-strip__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: 1.1rem;
}

.iv-stories-strip__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: .58rem .85rem;
  border: 1px solid rgba(255,253,246,.24);
  border-radius: 999px;
  color: #fffdf6;
  font-size: .88rem;
  font-weight: 850;
  line-height: 1.1;
  text-decoration: none;
}

.iv-stories-strip__actions a:hover,
.iv-stories-strip__actions a:focus-visible {
  background: rgba(255,253,246,.12);
  box-shadow: var(--iv-focus-ring);
}

.iv-stories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 1rem;
  min-width: 0;
}

.iv-story-card {
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(255,253,246,.16);
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 0%, rgba(240,196,125,.18), transparent 8rem),
    rgba(255,253,246,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.iv-story-card__label {
  display: inline-flex;
  margin-bottom: .75rem;
  color: #f0c47d;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.iv-story-card h3 {
  margin: 0 0 .7rem;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
}

.iv-story-card h3 a {
  color: #fffdf6;
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
}

.iv-story-card p,
.iv-story-card small {
  color: rgba(255,253,246,.72);
}

.iv-quick-card,
.iv-wp-card,
.invaltaro-card {
  border: 1px solid rgba(32, 63, 42, .12);
  border-radius: 26px;
  background: rgba(255,253,246,.88);
  box-shadow: var(--iv-shadow-soft);
}

.iv-quick-card {
  position: relative;
  display: grid;
  align-content: space-between;
  gap: .9rem;
  min-height: 180px;
  padding: 1.35rem;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.iv-quick-card::after {
  content: "";
  position: absolute;
  inset: auto -22% -35% 42%;
  height: 70%;
  background: radial-gradient(circle, rgba(216,168,91,.18), transparent 62%);
  pointer-events: none;
}

.iv-quick-card:hover {
  transform: translateY(-3px);
  border-color: rgba(185,101,50,.25);
  box-shadow: 0 22px 62px rgba(23, 32, 24, .12);
}

.iv-quick-card h2 {
  margin-top: 0;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}

.iv-quick-card h2 a {
  color: inherit;
  text-decoration: none;
}

.iv-card-link {
  margin: auto 0 0 !important;
}

.iv-card-link a {
  color: var(--iv-copper-strong);
  font-size: .9rem;
  font-weight: 900;
  text-decoration-thickness: 1px;
  text-underline-offset: .24em;
}

.iv-section {
  margin-top: var(--iv-section-gap);
  padding: clamp(2rem, 5vw, 4rem);
  overflow: clip;
  border-radius: clamp(24px, 4vw, 46px);
}

.iv-section--cream {
  background: rgba(255, 253, 246, .76);
  box-shadow: inset 0 0 0 1px rgba(32, 63, 42, .08);
}

.iv-inspiration {
  gap: clamp(1.5rem, 4vw, 3rem);
}

/* Idea board layout guard: keep inspiration cards spaced without WordPress block CSS. */
.iv-idea-board {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.25rem, 3vw, 1.65rem);
  align-items: stretch;
}

.iv-idea-board > p:empty {
  display: none;
}

/* Empty paragraph and gap guard: shortcodes can leave empty block wrappers. */
.iv-hero__actions > p:empty,
.iv-intent-grid > p:empty,
.iv-travel-board__grid > p:empty,
.iv-ready-proposals__rail > p:empty,
.iv-signature__grid > p:empty,
.iv-inspiration > p:empty,
.iv-app-cta__actions > p:empty,
.iv-site-footer__grid > p:empty,
.iv-home .wp-block-columns.are-vertically-aligned-center > p:empty {
  display: none;
}

.iv-idea-card {
  min-height: 170px;
  margin: 0 !important;
  padding: 1rem;
  border-radius: 26px;
  background:
    radial-gradient(circle at 90% 0%, rgba(185,101,50,.16), transparent 8rem),
    #fffdf6;
  box-shadow: inset 0 0 0 1px rgba(32, 63, 42, .1), 0 14px 34px rgba(23,32,24,.07);
}

.iv-idea-card a {
  display: grid;
  min-height: calc(170px - 2rem);
  align-content: start;
  color: inherit;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
}

.iv-idea-card a:hover,
.iv-idea-card a:focus-visible {
  color: inherit;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
  outline: none;
}

.iv-idea-card span {
  display: inline-flex;
  margin-bottom: .8rem;
  color: var(--iv-copper);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .12em;
}

.iv-idea-card strong {
  display: block;
  margin-bottom: .35rem;
  color: var(--iv-forest-2);
  font-size: 1.2rem;
}

.iv-idea-card em {
  display: inline-flex;
  width: fit-content;
  margin-top: auto;
  padding-top: .85rem;
  color: var(--iv-copper-strong);
  font-size: .78rem;
  font-style: normal;
  font-weight: 900;
}

.iv-idea-card em::after {
  content: "";
  width: .42rem;
  height: .42rem;
  margin-left: .46rem;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

.iv-idea-card:hover em,
.iv-idea-card:focus-within em {
  color: var(--iv-copper-strong);
  transform: translateX(2px);
}

.iv-destinations {
  margin-top: clamp(3.5rem, 8vw, 6rem);
  padding: clamp(2rem, 5vw, 4rem);
  border-radius: clamp(24px, 4vw, 46px);
  background:
    linear-gradient(135deg, rgba(32,63,42,.08), rgba(185,101,50,.08)),
    rgba(255,253,246,.7);
}

.iv-destinations h2 {
  max-width: 760px;
  margin-top: 0;
  font-size: clamp(2rem, 4.4vw, 4.2rem);
  letter-spacing: -.055em;
}

.iv-destination-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(108px, 1fr));
  gap: .55rem;
  margin-top: 1.4rem;
}

.iv-destination-grid p {
  margin: 0 !important;
  min-width: 0;
  padding: .64rem .42rem;
  border-radius: 999px;
  background: var(--iv-paper);
  box-shadow: inset 0 0 0 1px rgba(32,63,42,.1);
  color: var(--iv-forest);
  font-size: .72rem;
  font-weight: 850;
  line-height: 1.08;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.iv-destination-grid a {
  display: block;
  color: inherit;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
}

.iv-destination-grid a:hover,
.iv-destination-grid a:focus-visible,
.iv-destination-grid a:visited {
  color: inherit;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
}

.iv-destination-grid p:has(a):hover,
.iv-destination-grid p:has(a):focus-within {
  background: var(--iv-forest);
  color: #fffdf6;
}

.iv-community {
  background:
    radial-gradient(circle at 12% 20%, rgba(240,196,125,.22), transparent 18rem),
    linear-gradient(135deg, #fffdf6, #e7dfcf);
  box-shadow: inset 0 0 0 1px rgba(32,63,42,.08);
}

.iv-app-cta {
  overflow: hidden;
  color: #fffdf6;
  background:
    radial-gradient(circle at 12% 10%, rgba(240,196,125,.24), transparent 18rem),
    radial-gradient(circle at 92% 20%, rgba(185,101,50,.22), transparent 20rem),
    linear-gradient(135deg, var(--iv-night), var(--iv-forest));
  box-shadow: var(--iv-shadow);
}

.iv-app-cta h2,
.iv-app-cta p,
.iv-app-cta .iv-kicker {
  color: inherit;
}

.iv-app-cta .iv-kicker {
  color: #f0c47d;
}

.iv-app-cta p:not(.iv-kicker) {
  color: rgba(255,253,246,.78);
}

.iv-app-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: flex-end;
}

.iv-section-more {
  justify-content: center;
  margin-top: clamp(1.1rem, 2.6vw, 1.65rem);
}

.iv-section-more .wp-block-button__link {
  min-height: 46px;
  padding-inline: 1.15rem;
}

.iv-button-outline-dark .wp-block-button__link {
  border-color: rgba(255,253,246,.52) !important;
  color: #fffdf6 !important;
  border-radius: 999px;
}

.iv-button-outline-dark .wp-block-button__link:hover {
  background: rgba(255,253,246,.14) !important;
  border-color: #fffdf6 !important;
}

.iv-community:not(:has(.invaltaro-social-links)),
.iv-section:has(.invaltaro-block-empty) {
  display: none;
}

.invaltaro-social-links {
  display: grid;
  grid-template-columns: minmax(260px, .62fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
}

.invaltaro-social-links h2 {
  margin-top: 0;
  font-size: clamp(2rem, 4.4vw, 4.2rem);
  letter-spacing: -.055em;
}

.invaltaro-social-links__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: flex-end;
}

.invaltaro-social-link {
  display: inline-flex;
  align-items: center;
  min-height: 50px;
  padding: 0 1.1rem;
  border-radius: 999px;
  background: var(--iv-forest);
  color: #fff !important;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 14px 34px rgba(32, 63, 42, .18);
  overflow-wrap: anywhere;
  text-align: center;
}

.invaltaro-social-link--instagram,
.invaltaro-social-link--newsletter {
  background: var(--iv-copper);
}

.invaltaro-social-link--whatsapp {
  background: #1f7a45;
}

.iv-section--forest {
  color: #fff;
  background:
    radial-gradient(circle at 15% 10%, rgba(240, 196, 125, .26), transparent 20rem),
    linear-gradient(135deg, #172018, #203f2a);
  box-shadow: var(--iv-shadow);
}

.iv-section--forest h2,
.iv-section--forest p {
  color: inherit;
}

.iv-section__head {
  margin-bottom: clamp(1.2rem, 3vw, 2rem);
  text-align: center;
}

.iv-section__head h2,
.iv-seo-note h2 {
  margin-top: 0;
  font-size: clamp(2rem, 4.4vw, 4.2rem);
  letter-spacing: -.055em;
}

/* Query cards grid guard: do not rely on WordPress core layout CSS for card columns. */
.iv-query-cards .wp-block-post-template {
  display: grid;
  gap: clamp(1rem, 2.5vw, 1.35rem);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
}

.iv-wp-card {
  display: grid;
  grid-template-rows: auto auto 1fr;
  align-content: start;
  overflow: hidden;
  padding-bottom: 1rem;
  text-align: left;
}

.iv-wp-card .wp-block-post-featured-image {
  margin: 0 0 1rem;
}

.iv-wp-card:has(> .wp-block-post-title:first-child) {
  padding-top: clamp(1rem, 2vw, 1.2rem);
}

.iv-wp-card .wp-block-post-title,
.iv-wp-card .wp-block-post-excerpt {
  width: 100%;
  padding-inline: 1rem;
  justify-self: stretch;
}

.iv-wp-card .wp-block-post-title {
  min-width: 0;
  margin: 0 0 .55rem;
  font-size: clamp(1.2rem, 2vw, 1.48rem);
  letter-spacing: -.025em;
  line-height: 1.08;
}

.iv-wp-card .wp-block-post-title a {
  display: block;
  color: inherit;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.iv-wp-card .wp-block-post-title a:hover,
.iv-wp-card .wp-block-post-title a:focus-visible {
  color: var(--iv-copper-strong);
}

.iv-wp-card .wp-block-post-excerpt {
  display: grid;
  align-content: start;
  gap: .85rem;
  margin: 0 0 1rem;
  color: var(--iv-ink-muted);
  justify-items: start;
  text-align: left;
}

.iv-wp-card .wp-block-post-excerpt p,
.iv-wp-card .wp-block-post-excerpt__excerpt {
  margin: 0;
  line-height: 1.48;
}

.iv-wp-card .wp-block-post-excerpt__more-link {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  justify-self: start;
  padding: 0 .95rem;
  border-radius: 999px;
  background: var(--iv-forest);
  color: #fff !important;
  font-weight: 850;
  line-height: 1.1;
  overflow-wrap: anywhere;
  text-align: center;
  text-decoration: none;
}

.iv-wp-card .wp-block-post-excerpt__more-link::after {
  content: "";
  width: .42rem;
  height: .42rem;
  margin-left: .46rem;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .18s ease;
}

.iv-wp-card .wp-block-post-excerpt__more-link:hover::after,
.iv-wp-card .wp-block-post-excerpt__more-link:focus-visible::after {
  transform: translateX(3px) rotate(45deg);
}

.invaltaro-poi-list-block,
.invaltaro-events-list-block,
.invaltaro-experiences-list-block {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: clamp(1rem, 2.5vw, 1.35rem);
  margin: clamp(1.4rem, 3vw, 2rem) 0 0;
}

.invaltaro-events-list-block__more {
  margin: 1rem 0 0;
  text-align: center;
}

.invaltaro-events-list-block__more a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: .68rem 1.05rem;
  border-radius: 999px;
  background: var(--iv-forest);
  color: #fff;
  font-weight: 850;
  text-decoration: none;
}

.invaltaro-events-list-block__more a:hover,
.invaltaro-events-list-block__more a:focus-visible {
  background: var(--iv-forest-2);
}

.invaltaro-experiences-list-block--compact {
  grid-template-columns: 1fr;
}

.invaltaro-card {
  overflow: hidden;
}

.invaltaro-card__image {
  display: block;
  aspect-ratio: 16 / 10;
  background: var(--iv-stone);
}

.invaltaro-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.invaltaro-card__body {
  padding: 1rem;
}

.invaltaro-card__eyebrow {
  margin: 0 0 .35rem;
  color: var(--iv-copper);
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.invaltaro-card__title {
  margin: 0 0 .55rem;
  font-size: clamp(1.18rem, 2.2vw, 1.55rem);
}

.invaltaro-card__title a {
  color: inherit;
  text-decoration: none;
}

.invaltaro-card__title a:hover {
  text-decoration: underline;
}

.invaltaro-card__excerpt,
.invaltaro-card__meta {
  margin: 0 0 .7rem;
}

.invaltaro-card__meta {
  color: var(--iv-ink-muted);
  font-size: .92rem;
}

.iv-section--forest .invaltaro-card__meta {
  color: #4e594d;
}

.invaltaro-card__cta {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 .95rem;
  font-weight: 800;
  text-decoration: none;
}

.invaltaro-block-empty {
  display: none;
}

.iv-seo-note {
  text-align: center;
  background: rgba(231,223,207,.46);
}

.iv-site-footer {
  margin-top: clamp(2rem, 5vw, 4rem);
  padding-block: clamp(2.3rem, 5vw, 4.5rem);
  color: rgba(255,255,255,.84);
  background:
    radial-gradient(circle at 8% 0%, rgba(240,196,125,.12), transparent 18rem),
    linear-gradient(135deg, var(--iv-night), var(--iv-forest-2));
}

.iv-site-footer h2,
.iv-site-footer h3,
.iv-site-footer a {
  color: #fff;
}

.iv-site-footer__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.iv-site-footer .wp-block-column,
.iv-site-footer .wp-block-shortcode {
  min-width: 0;
}

.iv-site-footer .wp-block-shortcode {
  width: 100%;
  max-width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.iv-site-footer ul {
  display: grid;
  gap: .45rem;
  margin: .8rem 0 0;
  padding: 0;
  list-style: none;
}

.iv-site-footer li a {
  color: rgba(255,255,255,.82);
  font-weight: 760;
  text-decoration-thickness: 1px;
  text-underline-offset: .24em;
}

.iv-site-footer li a:hover {
  color: #f0c47d;
}

.iv-site-footer__language {
  width: min(100%, 1180px);
  margin: clamp(1.4rem, 3vw, 2.2rem) auto 0;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(255, 253, 246, .14);
}

.iv-language-switcher-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .6rem .85rem;
  margin: 0;
}

.iv-language-switcher__title {
  margin: 0;
  color: rgba(255, 253, 246, .76);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.iv-language-switcher {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .22rem;
  border: 1px solid rgba(255, 253, 246, .32);
  border-radius: 999px;
  background: rgba(255, 253, 246, .12);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .16);
}

.iv-language-switcher__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.45rem;
  min-height: 2rem;
  padding: .32rem .72rem;
  border-radius: 999px;
  color: #fffdf6;
  font-size: .78rem;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
}

.iv-language-switcher__link:hover,
.iv-language-switcher__link:focus-visible,
.iv-language-switcher__link.is-current {
  color: var(--iv-forest-2);
  background: #fffdf6;
}

.iv-site-footer__small {
  margin-top: 2rem;
  color: rgba(255,255,255,.62);
  font-size: .9rem;
}

.iv-site-footer__credit {
  margin-top: .55rem;
  font-weight: 760;
}

.iv-instagram-follow {
  display: flex;
  align-items: center;
  gap: .85rem;
  max-width: 100%;
  min-width: 0;
}

.iv-instagram-follow__link {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.iv-instagram-follow__icon {
  display: inline-grid;
  flex: 0 0 auto;
  width: 2.8rem;
  height: 2.8rem;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #f58529, #dd2a7b 45%, #515bd4);
  box-shadow: 0 12px 26px rgba(0,0,0,.18);
}

.iv-instagram-follow__text {
  display: grid;
  gap: .1rem;
  min-width: 0;
}

.iv-instagram-follow__text strong {
  font-size: .98rem;
  line-height: 1.2;
}

.iv-instagram-follow__text small {
  color: inherit;
  font-size: .82rem;
  opacity: .74;
}

.iv-instagram-follow__qr-link {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  padding: .35rem;
  border-radius: .75rem;
  background:
    linear-gradient(135deg, rgba(32, 63, 42, .08), rgba(216, 168, 91, .14)),
    #fff;
  box-shadow: 0 14px 30px rgba(0,0,0,.16);
}

.iv-instagram-follow__qr {
  display: block;
  width: 5.4rem;
  height: 5.4rem;
  max-width: 100%;
  border-radius: .42rem;
  background:
    linear-gradient(90deg, rgba(32, 63, 42, .12) 0 20%, transparent 20% 40%, rgba(32, 63, 42, .12) 40% 60%, transparent 60% 80%, rgba(32, 63, 42, .12) 80%),
    linear-gradient(0deg, rgba(32, 63, 42, .12) 0 20%, transparent 20% 40%, rgba(32, 63, 42, .12) 40% 60%, transparent 60% 80%, rgba(32, 63, 42, .12) 80%),
    #fff;
  object-fit: cover;
}

.iv-instagram-follow--footer {
  width: fit-content;
  margin-top: 1.05rem;
  padding: .85rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 1.1rem;
  color: rgba(255,255,255,.9);
  background: rgba(255,255,255,.075);
}

.iv-site-footer > .iv-site-footer__grid,
.iv-site-footer > .iv-site-footer__small {
  width: min(100%, 1180px);
  max-width: calc(100vw - (var(--iv-page-gutter) * 2));
  margin-left: auto;
  margin-right: auto;
}

.iv-instagram-follow--event {
  max-width: min(100%, 760px);
  margin: 1.25rem auto 0;
  padding: .7rem .85rem;
  border: 1px solid rgba(23,54,37,.12);
  border-radius: 1rem;
  color: #25422e;
  background: rgba(250,248,241,.82);
}

.iv-instagram-follow--event .iv-instagram-follow__icon {
  width: 2.3rem;
  height: 2.3rem;
  box-shadow: none;
}

.iv-instagram-follow--event .iv-instagram-follow__qr-link {
  margin-left: auto;
  box-shadow: none;
}

.iv-instagram-follow--event .iv-instagram-follow__qr {
  width: 4.35rem;
  height: 4.35rem;
}

@media (max-width: 860px) {
  .wp-block-columns {
    flex-direction: column;
  }

  .wp-block-column,
  .wp-block-column[style*="flex-basis"] {
    flex-basis: 100% !important;
  }

  .iv-dynamic-home,
  .iv-hero,
  .iv-stories-strip {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .iv-dynamic-home__grid {
    grid-template-columns: 1fr;
  }

  .iv-article-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iv-planner {
    grid-template-columns: 1fr;
    overflow: clip;
  }

  .iv-intent-grid {
    scrollbar-gutter: auto;
  }

  .iv-intent-pill {
    flex: 0 0 clamp(172px, 66vw, 230px);
  }

  .iv-destination-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .invaltaro-social-links {
    grid-template-columns: 1fr;
  }

  .invaltaro-social-links__actions {
    justify-content: flex-start;
  }

  .iv-app-cta__actions {
    justify-content: flex-start;
  }

  .iv-section {
    padding: clamp(1.35rem, 5vw, 2.4rem) clamp(1rem, 4vw, 1.4rem);
  }

  .iv-hero::after {
    inset-inline: 10%;
  }

  .iv-hero__title {
    font-size: clamp(2.55rem, 15vw, 4.6rem);
  }
}

@media (max-width: 600px) {
  :root {
    --iv-page-gutter: .85rem;
  }

  .iv-site-header {
    position: static;
  }

  .iv-hero {
    padding: 1.35rem;
    border-radius: 28px;
  }

  .iv-section-nav {
    justify-content: center;
    overflow-x: visible;
    flex-wrap: wrap !important;
    border-radius: 24px;
    scroll-snap-type: none;
  }

  .iv-section-nav p {
    flex: 0 0 auto;
  }

  .iv-dynamic-home {
    padding: 1rem;
    border-radius: 28px;
  }

  .iv-planner,
  .iv-ready-proposals,
  .iv-signature,
  .iv-destinations,
  .iv-app-cta,
  .iv-seo-note {
    border-radius: 28px;
  }

  .iv-article-footer {
    padding: 1rem;
    border-radius: 28px;
  }

  .iv-stories-strip {
    padding: 1rem;
    border-radius: 28px;
  }

  .iv-article-footer__grid {
    grid-template-columns: 1fr;
  }

  .iv-search .wp-block-search__inside-wrapper {
    border-radius: 22px;
  }

  .iv-destination-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iv-finder-links a,
  .iv-destination-grid p,
  .invaltaro-social-link {
    max-width: 100%;
    width: 100%;
    justify-content: center;
  }

  .iv-search .wp-block-search__inside-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: .45rem;
  }

  .iv-search .wp-block-search__button {
    width: 100%;
    margin: .35rem 0 0;
  }

  .iv-quick-card,
  .iv-wp-card,
  .invaltaro-card {
    border-radius: 20px;
  }

  .iv-intent-grid,
  .iv-ready-proposals__rail {
    margin-inline: -.15rem;
    padding-left: .15rem;
  }
}

/*
 * Premium refinement layer.
 * Keeps the existing Gutenberg structure intact while making surfaces,
 * links and CTAs feel more editorial, polished and consistent.
 */
:root {
  --iv-linen: #fbf4e4;
  --iv-linen-2: #f4ead6;
  --iv-porcelain: rgba(255, 253, 246, .94);
  --iv-porcelain-solid: #fffdf6;
  --iv-brass: #c99343;
  --iv-brass-light: #f2cf8f;
  --iv-walnut: #6f3f24;
  --iv-line: rgba(32, 63, 42, .11);
  --iv-line-strong: rgba(32, 63, 42, .2);
  --iv-glow: 0 28px 90px rgba(23, 32, 24, .13);
  --iv-glow-tight: 0 16px 46px rgba(23, 32, 24, .1);
  --iv-serif: "Palatino Linotype", Palatino, Georgia, serif;
  --iv-sans: "Trebuchet MS", "Gill Sans", Candara, sans-serif;
}

body {
  font-family: var(--iv-sans);
  background:
    radial-gradient(circle at 8% 0%, rgba(201, 147, 67, .18), transparent 34rem),
    radial-gradient(circle at 92% 2%, rgba(32, 63, 42, .15), transparent 34rem),
    linear-gradient(180deg, #fff8ea 0%, #f8efde 46%, #fffaf0 100%);
}

.iv-home h1,
.iv-home h2,
.iv-home h3,
.iv-directory h1,
.iv-directory h2,
.iv-directory h3,
.iv-site-footer h2,
.iv-site-footer h3 {
  font-family: var(--iv-serif);
  font-weight: 700;
}

a {
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.iv-home a:not(.wp-block-button__link):not(.iv-card__cta):not(.invaltaro-card__cta):not(.iv-directory-card__cta):not(.iv-dynamic-card__cta):not(.iv-ready-proposal__cta):not(.iv-article-footer-card__cta):not(.invaltaro-social-link) {
  text-decoration-color: rgba(185, 101, 50, .38);
  text-decoration-thickness: .08em;
  text-underline-offset: .28em;
}

.iv-home a:not(.wp-block-button__link):not(.iv-card__cta):not(.invaltaro-card__cta):not(.iv-directory-card__cta):not(.iv-dynamic-card__cta):not(.iv-ready-proposal__cta):not(.iv-article-footer-card__cta):not(.invaltaro-social-link):hover {
  text-decoration-color: currentColor;
}

.wp-block-button__link,
.iv-directory-card__cta,
.iv-directory-hero__link,
.iv-dynamic-card__cta,
.iv-ready-proposal__cta,
.iv-article-footer-card__cta,
.iv-card__cta,
.invaltaro-card__cta,
.invaltaro-social-link {
  min-height: 46px;
  padding: .78rem 1.15rem;
  border: 1px solid rgba(255, 253, 246, .32);
  border-radius: 999px;
  font-family: var(--iv-sans);
  font-size: .92rem;
  font-weight: 900;
  letter-spacing: .015em;
  line-height: 1;
  text-decoration: none !important;
  box-shadow: 0 16px 36px rgba(23, 32, 24, .14);
}

.iv-button-primary .wp-block-button__link,
.iv-card__cta,
.invaltaro-card__cta,
.iv-directory-card__cta {
  background:
    linear-gradient(135deg, #244a31, #162016) !important;
  color: #fffdf6 !important;
}

.iv-button-primary .wp-block-button__link:hover,
.iv-card__cta:hover,
.invaltaro-card__cta:hover,
.iv-directory-card__cta:hover,
.iv-dynamic-card__cta:hover,
.iv-ready-proposal__cta:hover,
.iv-article-footer-card__cta:hover,
.invaltaro-social-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 48px rgba(23, 32, 24, .18);
}

.iv-button-outline .wp-block-button__link,
.iv-button-outline-dark .wp-block-button__link {
  background: rgba(255, 253, 246, .08) !important;
  backdrop-filter: blur(12px);
}

.iv-hero,
.iv-directory-hero,
.iv-app-cta,
.iv-section--forest,
.iv-stories-strip {
  position: relative;
  border: 1px solid rgba(255, 253, 246, .16);
  background:
    radial-gradient(circle at 76% 12%, rgba(242, 207, 143, .32), transparent 20rem),
    radial-gradient(circle at 6% 100%, rgba(185, 101, 50, .18), transparent 24rem),
    linear-gradient(135deg, #0f1510 0%, #203f2a 58%, #6f3f24 100%);
  box-shadow: var(--iv-glow);
}

.iv-hero::before,
.iv-directory-hero::before,
.iv-app-cta::before,
.iv-section--forest::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(255, 253, 246, .18), transparent 30%),
    linear-gradient(315deg, rgba(242, 207, 143, .13), transparent 24%);
  mask-image: linear-gradient(#000, transparent 58%);
}

.iv-hero__content,
.iv-hero__panel,
.iv-app-cta > *,
.iv-section--forest > * {
  position: relative;
  z-index: 1;
}

.iv-kicker {
  color: var(--iv-walnut);
  font-family: var(--iv-sans);
  font-size: .72rem;
  letter-spacing: .18em;
}

.iv-hero .iv-kicker,
.iv-section--forest .iv-kicker,
.iv-app-cta .iv-kicker,
.iv-stories-strip .iv-kicker {
  color: var(--iv-brass-light);
}

.iv-hero__title {
  line-height: .88;
  text-shadow: 0 18px 54px rgba(0, 0, 0, .22);
}

.iv-hero__lead {
  max-width: 620px;
  color: rgba(255, 253, 246, .82);
}

.iv-hero__panel {
  border-color: rgba(255, 253, 246, .26);
  background:
    linear-gradient(150deg, rgba(255, 253, 246, .22), rgba(255, 253, 246, .09));
  box-shadow:
    inset 0 1px 0 rgba(255, 253, 246, .3),
    0 30px 70px rgba(0, 0, 0, .18);
}

.iv-search .wp-block-search__inside-wrapper {
  border: 1px solid rgba(255, 253, 246, .72);
  box-shadow: 0 20px 48px rgba(0, 0, 0, .18);
}

.iv-search .wp-block-search__button {
  background:
    linear-gradient(135deg, var(--iv-brass), var(--iv-walnut));
}

.iv-section-nav {
  gap: clamp(.18rem, .55vw, .32rem);
  padding: clamp(.34rem, .72vw, .44rem);
  border-color: rgba(32, 63, 42, .12);
  background: rgba(255, 253, 246, .86);
  box-shadow: 0 18px 50px rgba(23, 32, 24, .09);
}

.iv-section-nav a {
  min-height: 34px;
  padding: 0 clamp(.44rem, .85vw, .66rem);
}

.iv-section-nav a:hover {
  transform: translateY(-1px);
  background:
    linear-gradient(135deg, #203f2a, #172018);
}

.iv-planner,
.iv-dynamic-home,
.iv-ready-proposals,
.iv-signature,
.iv-section,
.iv-destinations,
.iv-community,
.iv-seo-note,
.iv-article-footer,
.iv-directory-card,
.iv-comune-card,
.iv-listing-card,
.iv-area-panel {
  border-color: var(--iv-line);
  background:
    radial-gradient(circle at 6% 0%, rgba(242, 207, 143, .16), transparent 15rem),
    linear-gradient(145deg, rgba(255, 253, 246, .96), rgba(244, 234, 214, .72));
  box-shadow: var(--iv-glow-tight);
}

.iv-planner,
.iv-dynamic-home,
.iv-ready-proposals,
.iv-signature,
.iv-destinations,
.iv-community,
.iv-seo-note,
.iv-article-footer {
  padding: clamp(1.6rem, 4.8vw, 4.4rem);
}

.iv-section {
  box-shadow: inset 0 0 0 1px rgba(255, 253, 246, .62), var(--iv-glow-tight);
}

.iv-section__head {
  max-width: 820px;
  margin-inline: auto;
}

.iv-section__head p:not(.iv-kicker),
.iv-planner__intro p:not(.iv-kicker),
.iv-ready-proposals__head p:not(.iv-kicker),
.iv-dynamic-home__intro p:not(.iv-kicker),
.iv-directory-hero p,
.iv-signature p:not(.iv-kicker),
.iv-app-cta p:not(.iv-kicker) {
  font-size: clamp(1rem, 1.45vw, 1.15rem);
  line-height: 1.66;
}

.iv-directory-card,
.iv-comune-card,
.iv-listing-card,
.iv-mini-card,
.iv-dynamic-card,
.iv-ready-proposal,
.iv-proof-card,
.iv-quick-card,
.iv-idea-card,
.iv-story-card,
.iv-article-footer-card,
.iv-wp-card,
.invaltaro-card {
  border-color: var(--iv-line);
  background:
    linear-gradient(180deg, rgba(255, 253, 246, .98), rgba(251, 244, 228, .9));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .72),
    0 14px 40px rgba(23, 32, 24, .075);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

.iv-directory-card:hover,
.iv-comune-card:hover,
.iv-listing-card:hover,
.iv-mini-card:hover,
.iv-dynamic-card:hover,
.iv-ready-proposal:hover,
.iv-proof-card:hover,
.iv-quick-card:hover,
.iv-idea-card:hover,
.iv-story-card:hover,
.iv-article-footer-card:hover,
.iv-wp-card:hover,
.invaltaro-card:hover {
  transform: translateY(-3px);
  border-color: rgba(185, 101, 50, .24);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .78),
    0 24px 64px rgba(23, 32, 24, .12);
}

.iv-dynamic-card--event,
.iv-ready-proposal--event,
.iv-article-footer-card--action {
  border-color: rgba(242, 207, 143, .22);
  background-color: #203f2a;
  background-image:
    radial-gradient(circle at 88% 6%, #355f3f, transparent 12rem),
    linear-gradient(145deg, #121b14, #203f2a);
}

.iv-directory-card h2,
.iv-comune-card h2,
.iv-listing-card h2,
.iv-dynamic-card h3,
.iv-ready-proposal h3,
.iv-quick-card h2,
.invaltaro-card__title {
  letter-spacing: -.025em;
}

.iv-directory-card__count,
.iv-comune-card__eyebrow,
.iv-listing-card__eyebrow,
.iv-listing-card__meta,
.iv-dynamic-card__eyebrow,
.iv-ready-proposal__kicker,
.iv-article-footer-card__label,
.iv-story-card__label,
.invaltaro-card__eyebrow {
  border: 1px solid rgba(185, 101, 50, .12);
  background: rgba(242, 207, 143, .18);
  color: var(--iv-walnut);
}

.iv-article-footer-card--action .iv-article-footer-card__label {
  border-color: rgba(242, 207, 143, .38);
  background: #203f2a;
  color: #fffdf6;
}

.iv-article-footer-card--action li a {
  color: #fffdf6 !important;
}

.iv-article-footer-card--action li span {
  color: rgba(255, 253, 246, .84) !important;
}

.iv-intent-pill,
.iv-destination-grid p {
  border: 1px solid var(--iv-line);
  background:
    linear-gradient(145deg, rgba(255, 253, 246, .96), rgba(244, 234, 214, .84));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .76),
    0 10px 28px rgba(23, 32, 24, .055);
}

.iv-card-link a {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  color: var(--iv-walnut);
  text-decoration: none;
}

.iv-card-link a::after,
.iv-directory-card__cta::after,
.iv-dynamic-card__cta::after,
.iv-ready-proposal__cta::after,
.iv-article-footer-card__cta::after,
.invaltaro-card__cta::after {
  content: "";
  width: .42rem;
  height: .42rem;
  margin-left: .46rem;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateX(0) rotate(45deg);
  transition: transform .18s ease;
}

.iv-card-link a:hover::after,
.iv-directory-card__cta:hover::after,
.iv-dynamic-card__cta:hover::after,
.iv-ready-proposal__cta:hover::after,
.iv-article-footer-card__cta:hover::after,
.invaltaro-card__cta:hover::after {
  transform: translateX(3px) rotate(45deg);
}

.iv-ready-proposals__rail,
.iv-intent-grid,
.iv-directory-chips {
  scrollbar-width: thin;
  scrollbar-color: rgba(111, 63, 36, .48) rgba(32, 63, 42, .08);
}

.iv-ready-proposals__rail::-webkit-scrollbar,
.iv-intent-grid::-webkit-scrollbar,
.iv-directory-chips::-webkit-scrollbar {
  height: 8px;
}

.iv-ready-proposals__rail::-webkit-scrollbar-track,
.iv-intent-grid::-webkit-scrollbar-track,
.iv-directory-chips::-webkit-scrollbar-track {
  border-radius: 999px;
  background: rgba(32, 63, 42, .08);
}

.iv-ready-proposals__rail::-webkit-scrollbar-thumb,
.iv-intent-grid::-webkit-scrollbar-thumb,
.iv-directory-chips::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: linear-gradient(90deg, var(--iv-walnut), var(--iv-brass));
}

.invaltaro-card__image {
  overflow: hidden;
  background:
    radial-gradient(circle at 30% 10%, rgba(242, 207, 143, .28), transparent 10rem),
    var(--iv-linen-2);
}

.invaltaro-card__image img,
.iv-wp-card .wp-block-post-featured-image img {
  transition: transform .28s ease, filter .28s ease;
}

.invaltaro-card:hover .invaltaro-card__image img,
.iv-wp-card:hover .wp-block-post-featured-image img {
  transform: scale(1.035);
  filter: saturate(1.05) contrast(1.03);
}

.iv-site-header {
  background: rgba(255, 248, 234, .9);
  box-shadow: 0 8px 30px rgba(23, 32, 24, .055);
}

.iv-site-footer {
  border-top: 1px solid rgba(242, 207, 143, .14);
}

@media (max-width: 1080px) {
  .iv-site-header__bar {
    align-items: stretch;
  }

  .iv-site-brand {
    width: 100%;
  }

  .iv-site-sections {
    justify-content: flex-start;
    width: 100%;
    flex: 1 1 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: .1rem .1rem .55rem;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  .iv-site-section {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
}

@media (max-width: 860px) {
  .wp-block-button__link,
  .iv-directory-card__cta,
  .iv-directory-hero__link,
  .iv-dynamic-card__cta,
  .iv-ready-proposal__cta,
  .iv-article-footer-card__cta,
  .iv-card__cta,
  .invaltaro-card__cta,
  .invaltaro-social-link {
    min-height: 44px;
  }

  .iv-planner,
  .iv-dynamic-home,
  .iv-ready-proposals,
  .iv-signature,
  .iv-section,
  .iv-destinations,
  .iv-community,
  .iv-seo-note,
  .iv-article-footer {
    padding: clamp(1.2rem, 5vw, 2.4rem);
  }
}

@media (max-width: 600px) {
  .iv-site-header {
    padding-inline: 0;
  }

  .iv-site-logo {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px;
  }

  .iv-site-logo img {
    width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    max-height: 34px !important;
  }

  .iv-site-claim {
    font-size: .68rem;
  }

  .iv-site-section {
    padding: .54rem .72rem;
  }

  .iv-site-section span {
    font-size: .84rem;
  }

  .iv-site-section small {
    font-size: .64rem;
  }

  .iv-home a,
  .iv-directory a {
    overflow-wrap: anywhere;
  }

  .wp-block-button,
  .wp-block-button__link {
    width: 100%;
  }

  .wp-block-button__link,
  .iv-directory-card__cta,
  .iv-directory-hero__link,
  .iv-dynamic-card__cta,
  .iv-ready-proposal__cta,
  .iv-article-footer-card__cta,
  .iv-card__cta,
  .invaltaro-card__cta,
  .invaltaro-social-link {
    justify-content: center;
    width: 100%;
  }

  .iv-hero,
  .iv-directory-hero {
    border-radius: 30px;
  }
}

.wp-block-post-author,
.wp-block-post-author-name,
.wp-block-post-author-biography,
.byline {
    display: none !important;
}

.iv-single,
.iv-page,
.iv-archive {
    padding-block: clamp(1rem, 2.6vw, 2rem) clamp(2.5rem, 6vw, 5.5rem);
}

.iv-single-hero,
.iv-page-hero {
    text-align: center;
    margin-bottom: clamp(.85rem, 2.4vw, 1.6rem);
}

.iv-single > .iv-single-hero {
    width: min(100%, 1120px) !important;
    max-width: calc(100vw - (var(--iv-page-gutter) * 2)) !important;
    margin-inline: auto !important;
}

.iv-single-title {
    width: 100%;
    max-width: min(100%, 1120px);
    margin-inline: auto;
    text-wrap: balance;
}

.iv-single-meta {
    justify-content: center;
    color: var(--iv-muted);
    font-size: .92rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.iv-event-date-badge {
    display: inline-grid;
    gap: .18rem;
    max-width: min(100%, 620px);
    margin: clamp(.85rem, 2vw, 1.15rem) auto 0;
    padding: .82rem 1.05rem;
    border: 1px solid rgba(185, 101, 50, .18);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 253, 246, .96), rgba(251, 244, 228, .86));
    box-shadow: 0 12px 30px rgba(23, 32, 24, .07);
    color: var(--iv-forest-2);
    text-align: center;
}

.iv-event-date-badge span {
    color: var(--iv-copper-strong);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.iv-event-date-badge time {
    font-size: clamp(1rem, 1.9vw, 1.22rem);
    font-weight: 900;
    line-height: 1.2;
}

.iv-single-cover {
    overflow: hidden;
    border-radius: var(--iv-radius-xl);
    box-shadow: var(--iv-shadow-soft);
    margin-bottom: clamp(2rem, 5vw, 4rem);
}

.iv-single-content {
    font-size: clamp(1.02rem, 1.4vw, 1.14rem);
    line-height: 1.78;
}

.iv-story-attribution {
    max-width: 780px;
    margin: clamp(1.2rem, 3vw, 2rem) auto 0;
    color: var(--iv-muted);
    font-size: .72rem;
    line-height: 1.45;
    opacity: .72;
}

.iv-story-attribution a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: .16em;
}

.iv-post-nav {
    margin-top: 1.5rem;
}

.iv-post-nav a {
    position: relative;
    z-index: 1;
    display: inline-block;
}

.iv-archive-description {
    color: var(--iv-muted);
}

/* Hero layout guard: keep the right info panel inside the premium hero card. */
.iv-home > .iv-hero.alignwide {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr) !important;
    gap: clamp(1.25rem, 3.4vw, 2.6rem) !important;
    align-items: center !important;
    width: min(100%, 1180px) !important;
    max-width: calc(100vw - (var(--iv-page-gutter) * 2)) !important;
    margin-inline: auto !important;
    min-height: clamp(420px, 58vh, 620px) !important;
    padding: clamp(1.6rem, 4.8vw, 3.8rem) !important;
    box-sizing: border-box !important;
}

.iv-home > .iv-hero.alignwide > .iv-hero__content,
.iv-home > .iv-hero.alignwide > .iv-hero__panel {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.iv-home > .iv-hero.alignwide > .iv-hero__panel {
    align-self: center !important;
    justify-self: stretch !important;
    padding: clamp(1.25rem, 2.2vw, 1.85rem) !important;
}

.iv-home > .iv-hero.alignwide .iv-search input[type="search"] {
    min-height: 40px;
    padding: .5rem .78rem;
    font-size: .88rem;
}

.iv-home > .iv-hero.alignwide .iv-search .wp-block-search__button {
    min-height: 36px;
    padding: .45rem .78rem;
    font-size: .82rem;
}

.iv-home > .iv-hero.alignwide .iv-finder-links {
    gap: .35rem;
    margin-top: .55rem !important;
}

.iv-home > .iv-hero.alignwide .iv-finder-links a {
    padding: .28rem .52rem;
    font-size: .74rem;
}

.iv-home > .iv-hero.alignwide .iv-feature-list {
    max-width: 100%;
    box-sizing: border-box;
    padding-left: 1.05rem;
    font-size: .88rem;
    line-height: 1.42;
}

.iv-home > .iv-hero.alignwide .iv-feature-list li + li {
    margin-top: .36rem;
}

@media (max-width: 900px) {
    .iv-home > .iv-hero.alignwide {
        grid-template-columns: 1fr !important;
        padding: clamp(1.35rem, 5vw, 2.4rem) !important;
    }
}

@media (max-width: 980px) {
    .iv-travel-board__grid {
        display: flex !important;
        grid-template-columns: none !important;
        flex-wrap: nowrap;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        padding: .2rem 1rem .85rem .1rem;
        scroll-padding-inline: .1rem;
        scroll-snap-type: inline proximity;
        scrollbar-width: thin;
        scrollbar-color: rgba(111, 63, 36, .48) rgba(32, 63, 42, .08);
        -webkit-overflow-scrolling: touch;
        mask-image: linear-gradient(90deg, #000 calc(100% - 1.7rem), transparent);
    }

    .iv-travel-card {
        flex: 0 0 min(78vw, 290px);
        scroll-snap-align: start;
    }
}

/* Keep the app CTA readable: later shared hero rules must not wash it out. */
/* App CTA background guard */
.iv-app-cta.alignwide {
    isolation: isolate;
    color: #fffdf6 !important;
    background:
        radial-gradient(circle at 12% 8%, rgba(242, 207, 143, .28), transparent 19rem),
        radial-gradient(circle at 92% 20%, rgba(185, 101, 50, .28), transparent 22rem),
        linear-gradient(135deg, #0f1510 0%, #203f2a 58%, #6f3f24 100%) !important;
}

.iv-app-cta.alignwide h2,
.iv-app-cta.alignwide p,
.iv-app-cta.alignwide .iv-kicker {
    color: #fffdf6 !important;
}

.iv-app-cta.alignwide .iv-kicker {
    color: var(--iv-brass-light) !important;
}

.iv-app-cta.alignwide p:not(.iv-kicker) {
    color: rgba(255, 253, 246, .86) !important;
}

/* Mobile polish pass: keep the hero compact and controls readable. */
@media (max-width: 600px) {
    .iv-home > .iv-hero.alignwide {
        gap: 1rem !important;
        padding: 1.2rem !important;
    }

    .iv-home > .iv-hero.alignwide > .iv-hero__panel {
        padding: 1rem !important;
        border-radius: 26px;
    }

    .iv-hero__title {
        font-size: clamp(3.05rem, 17vw, 4.2rem);
        letter-spacing: -.07em;
    }

    .iv-hero__lead {
        font-size: 1rem;
        line-height: 1.48;
    }

    .iv-search .wp-block-search__inside-wrapper {
        padding: .22rem;
        border-radius: 28px;
    }

    .iv-search input[type="search"] {
        min-height: 44px;
        padding: .55rem .8rem;
        font-size: .98rem;
    }

    .iv-search .wp-block-search__button {
        min-height: 42px;
        padding-inline: 1rem;
    }

    .iv-feature-list {
        font-size: .98rem;
        line-height: 1.5;
    }

    .iv-app-cta.alignwide .wp-block-buttons {
        gap: 1rem;
    }

    .iv-hero__actions {
        gap: .7rem;
    }
}

/* Component polish: make plugin blocks feel native to the premium theme. */
.invaltaro-poi-list-block,
.invaltaro-events-list-block,
.invaltaro-experiences-list-block,
.invaltaro-bookable-resources-list-block,
.invaltaro-stories-list-block {
    gap: clamp(1rem, 2.2vw, 1.45rem) !important;
    margin-block: clamp(1.35rem, 3vw, 2.2rem) !important;
}

.invaltaro-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(32, 63, 42, .12) !important;
    border-radius: 30px !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .86), rgba(255, 253, 246, .98)),
        var(--iv-paper) !important;
    box-shadow: 0 18px 46px rgba(23, 32, 24, .09) !important;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.invaltaro-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 16% 0%, rgba(216, 168, 91, .16), transparent 12rem),
        linear-gradient(135deg, rgba(255,255,255,.24), transparent 45%);
    opacity: .8;
}

.invaltaro-card:hover {
    transform: translateY(-4px);
    border-color: rgba(185, 101, 50, .24) !important;
    box-shadow: 0 26px 70px rgba(23, 32, 24, .14) !important;
}

.invaltaro-card__image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background:
        linear-gradient(135deg, rgba(32, 63, 42, .12), rgba(216, 168, 91, .18)),
        #edf2e8 !important;
}

.invaltaro-card__image img {
    transform: scale(1.01);
    transition: transform .36s ease;
}

.invaltaro-card:hover .invaltaro-card__image img {
    transform: scale(1.055);
}

.invaltaro-card__body {
    position: relative;
    z-index: 1;
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: clamp(1.05rem, 2.4vw, 1.35rem) !important;
}

.invaltaro-card__body > p:not([class]) {
    color: var(--iv-ink-muted) !important;
}

.invaltaro-card__eyebrow {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    margin: 0 0 .7rem !important;
    padding: .34rem .64rem;
    border: 1px solid rgba(216, 168, 91, .28);
    border-radius: 999px;
    background: rgba(216, 168, 91, .16);
    color: var(--iv-copper-strong) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .065em !important;
    line-height: 1;
    text-transform: uppercase;
}

.invaltaro-card__title {
    margin: 0 0 .62rem !important;
    color: var(--iv-forest-2);
    font-family: var(--wp--preset--font-family--literata);
    font-size: clamp(1.28rem, 2vw, 1.62rem) !important;
    letter-spacing: -.035em;
    line-height: 1.06 !important;
    text-wrap: balance;
}

.invaltaro-card__title a {
    color: inherit !important;
    text-decoration: none !important;
}

.invaltaro-card__title a:hover {
    color: var(--iv-copper-strong) !important;
    text-decoration: none !important;
}

.invaltaro-card__excerpt,
.invaltaro-card__meta {
    color: var(--iv-ink-muted) !important;
    font-size: .96rem;
    line-height: 1.55;
}

.invaltaro-card__excerpt {
    margin: 0 0 .9rem !important;
}

.invaltaro-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .65rem;
    margin: 0 0 1rem !important;
}

.invaltaro-card__cta {
    display: inline-flex !important;
    width: fit-content;
    min-height: 42px !important;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    padding: .62rem 1rem !important;
    border: 1px solid rgba(32, 63, 42, .16);
    border-radius: 999px !important;
    background: var(--iv-forest) !important;
    color: #fffdf6 !important;
    font-size: .92rem;
    font-weight: 900 !important;
    letter-spacing: .01em;
    text-decoration: none !important;
    box-shadow: 0 12px 26px rgba(32, 63, 42, .18);
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.invaltaro-card__cta::after {
    content: "";
    width: .42rem;
    height: .42rem;
    margin-left: .52rem;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}

.invaltaro-card__cta:hover {
    background: var(--iv-copper-strong) !important;
    color: #fffdf6 !important;
    transform: translateY(-1px);
    box-shadow: 0 16px 34px rgba(185, 101, 50, .22);
}

.invaltaro-block-empty {
    margin-block: clamp(1rem, 2.5vw, 1.6rem);
    padding: clamp(1.15rem, 3vw, 1.6rem) !important;
    border: 1px dashed rgba(32, 63, 42, .28) !important;
    border-radius: 26px !important;
    background:
        linear-gradient(135deg, rgba(255, 253, 246, .92), rgba(231, 223, 207, .42)),
        var(--iv-paper) !important;
    color: var(--iv-ink-muted) !important;
    box-shadow: 0 14px 34px rgba(23, 32, 24, .06);
}

/* Header section cards: compact, premium, and obviously tappable. */
.iv-site-sections {
    max-width: 100%;
    padding-bottom: .18rem;
}

.iv-site-section {
    border-color: rgba(32, 63, 42, .12) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,253,246,.72)),
        rgba(255, 253, 246, .72) !important;
    box-shadow: 0 10px 26px rgba(23, 32, 24, .07);
}

.iv-site-section:hover {
    border-color: rgba(185, 101, 50, .24) !important;
    background: #fffdf6 !important;
    color: var(--iv-copper-strong) !important;
}

.iv-site-section--primary,
.iv-site-section--app {
    background:
        radial-gradient(circle at 20% 0%, rgba(216, 168, 91, .28), transparent 8rem),
        linear-gradient(135deg, #18331f, #284f34) !important;
    color: #fffdf6 !important;
}

.iv-site-section--primary small,
.iv-site-section--app small {
    color: rgba(255, 253, 246, .78) !important;
}

@media (max-width: 760px) {
    .iv-site-header__bar {
        gap: .85rem !important;
    }

    .iv-site-sections {
        display: grid !important;
        grid-auto-columns: minmax(118px, 42vw);
        grid-auto-flow: column;
        justify-content: start !important;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        width: 100%;
        padding: .2rem 0 .75rem;
        margin-inline: 0;
        scrollbar-width: thin;
        scroll-snap-type: inline proximity;
    }

    .iv-site-section {
        scroll-snap-align: start;
    }
}

@media (max-width: 600px) {
    .invaltaro-card {
        border-radius: 24px !important;
    }

    .invaltaro-card__cta {
        width: 100% !important;
    }
}

/* Directory polish: reusable frontend indexes for comuni, POI, events and seasons. */
.iv-page .iv-directory,
.iv-archive .iv-directory {
    width: min(100%, 1180px);
    max-width: calc(100vw - (var(--iv-page-gutter) * 2));
}

.iv-page:has(.iv-directory) > .iv-page-hero {
    display: none;
}

.iv-page .entry-content:has(.iv-directory) {
    width: min(100%, 1180px) !important;
    max-width: calc(100vw - (var(--iv-page-gutter) * 2)) !important;
    margin-inline: auto !important;
}

.iv-page .entry-content:has(.iv-directory) > .iv-directory {
    width: 100%;
    max-width: 100%;
    margin-top: clamp(.65rem, 1.8vw, 1.2rem);
}

.iv-page .entry-content:has(.iv-directory) > .iv-breadcrumb:first-child,
.iv-single .iv-single-content > .iv-breadcrumb:first-child {
    margin-top: 0;
}

.iv-directory {
    container-type: inline-size;
}

.iv-directory--listing,
.iv-directory--by-comune,
.iv-directory--season,
.iv-directory--events-nearby {
    display: grid;
    gap: clamp(1.2rem, 3vw, 2rem);
}

.iv-directory-hero {
    isolation: isolate;
}

.iv-directory-hero .iv-kicker {
    color: var(--iv-brass-light, #f2cf8f);
}

.iv-directory-hero__link {
    margin-top: clamp(1rem, 2.4vw, 1.35rem);
    background: #fffdf6 !important;
    color: var(--iv-forest) !important;
}

.iv-directory-card,
.iv-listing-card,
.iv-comune-card {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    gap: .65rem;
}

.iv-directory-card p,
.iv-listing-card p,
.iv-comune-card p {
    max-width: 64ch;
}

.iv-directory-card__count,
.iv-listing-card__eyebrow,
.iv-comune-card__eyebrow {
    margin-bottom: .2rem;
}

.iv-directory-card__cta {
    margin-top: auto;
}

.iv-event-index-grid {
    display: grid;
    gap: clamp(1rem, 2.4vw, 1.35rem);
}

.iv-event-index-card {
    display: grid;
    grid-template-columns: minmax(5.2rem, 7.2rem) minmax(0, 1fr);
    gap: clamp(.9rem, 2.2vw, 1.35rem);
    align-items: stretch;
    padding: clamp(1rem, 2.4vw, 1.45rem);
    border: 1px solid var(--iv-card-border);
    border-radius: 20px;
    background: var(--iv-card-surface), var(--iv-paper);
    box-shadow: 0 16px 38px rgba(23, 32, 24, .08);
}

.iv-event-index-card__date {
    display: grid;
    align-content: center;
    justify-items: center;
    min-height: 7rem;
    padding: .8rem .5rem;
    border-radius: 16px;
    background: var(--iv-forest);
    color: #fffdf6;
    text-align: center;
}

.iv-event-index-card__date span,
.iv-event-index-card__date small {
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.iv-event-index-card__date time {
    font-size: clamp(1.75rem, 4vw, 2.7rem);
    font-weight: 950;
    line-height: .95;
}

.iv-event-index-card__body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: .62rem;
}

.iv-event-index-card__eyebrow {
    margin: 0;
    color: var(--iv-copper-strong);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.iv-event-index-card h2 {
    margin: 0;
    color: var(--iv-forest-2);
    font-size: clamp(1.22rem, 2.3vw, 1.65rem);
    line-height: 1.12;
    text-wrap: balance;
}

.iv-event-index-card h2 a {
    color: inherit;
    text-decoration: none;
}

.iv-event-index-card__meta {
    display: grid;
    gap: .5rem;
    margin: .1rem 0 0;
}

.iv-event-index-card__meta div {
    display: grid;
    grid-template-columns: 4.4rem minmax(0, 1fr);
    gap: .55rem;
}

.iv-event-index-card__meta dt {
    color: var(--iv-ink-muted);
    font-size: .75rem;
    font-weight: 900;
    text-transform: uppercase;
}

.iv-event-index-card__meta dd {
    min-width: 0;
    margin: 0;
    color: var(--iv-ink);
    font-weight: 760;
}

.iv-event-index-card p:not(.iv-event-index-card__eyebrow) {
    max-width: 72ch;
    margin: 0;
    color: var(--iv-ink-muted);
    line-height: 1.55;
}

.iv-event-index-card__cta {
    align-self: flex-start;
    margin-top: auto;
    padding: .58rem .9rem;
    border-radius: 999px;
    background: var(--iv-forest);
    color: #fffdf6 !important;
    font-weight: 900;
    text-decoration: none !important;
}

.iv-listing-card__meta {
    align-self: flex-start;
    white-space: normal;
}

.iv-area-panel {
    position: relative;
    overflow: hidden;
}

.iv-area-panel::after {
    content: "";
    position: absolute;
    inset: auto -8% -28% 48%;
    height: 58%;
    pointer-events: none;
    background: repeating-linear-gradient(135deg, rgba(32, 63, 42, .055) 0 1px, transparent 1px 18px);
    transform: rotate(-4deg);
}

.iv-area-panel > * {
    position: relative;
    z-index: 1;
}

.iv-area-panel--event {
    border-color: rgba(185, 101, 50, .2);
    background:
        radial-gradient(circle at 92% 8%, rgba(216, 168, 91, .22), transparent 16rem),
        linear-gradient(145deg, rgba(255, 253, 246, .98), rgba(250, 238, 216, .86));
}

.iv-area-panel__head {
    padding-bottom: clamp(.7rem, 2vw, 1.1rem);
    border-bottom: 1px solid rgba(32, 63, 42, .1);
}

.iv-area-panel__head h2 {
    max-width: 780px;
}

.iv-mini-card-row {
    align-items: stretch;
}

.iv-mini-card {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    gap: .35rem;
}

.iv-mini-card span {
    margin-bottom: .15rem;
}

.iv-mini-card h3 {
    flex: 1;
}

.iv-mini-card h3 a:hover {
    color: var(--iv-copper-strong);
}

.iv-mini-card__cta {
    position: relative;
    z-index: 3;
    align-self: flex-start;
    margin-top: auto;
    color: var(--iv-forest);
    font-size: .88rem;
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: .22em;
}

.iv-mini-card__cta:hover,
.iv-mini-card__cta:focus-visible {
    color: var(--iv-copper-strong);
}

.iv-directory-empty {
    display: flex;
    align-items: center;
    gap: .7rem;
}

.iv-directory-empty::before {
    content: "";
    flex: 0 0 .62rem;
    width: .62rem;
    height: .62rem;
    border-radius: 999px;
    background: var(--iv-gold);
    box-shadow: 0 0 0 .38rem rgba(216, 168, 91, .16);
}

.iv-directory-chips {
    scroll-snap-type: inline proximity;
}

.iv-directory-chips a {
    scroll-snap-align: start;
}

.iv-directory-chips a:hover {
    border-color: rgba(185, 101, 50, .28);
    background: #fffdf6;
    color: var(--iv-copper-strong);
}

.iv-app-page {
    display: grid;
    gap: clamp(1.2rem, 3vw, 2rem);
}

.iv-app-page__hero {
    min-height: clamp(360px, 48vw, 560px);
    display: grid;
    align-content: center;
}

.iv-app-page__stores {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: clamp(1rem, 2.4vw, 1.5rem);
}

.iv-app-page__stores .iv-directory-hero__link {
    margin-top: 0;
}

.iv-app-page__store-soon {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding: .72rem 1rem;
    border: 1px solid rgba(255, 253, 246, .24);
    border-radius: 999px;
    background: rgba(255, 253, 246, .12);
    color: rgba(255, 253, 246, .86);
    font-weight: 850;
}

.iv-app-page__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2.4vw, 1.5rem);
}

.iv-user-guides {
    display: grid;
    width: min(100%, 1180px);
    max-width: calc(100vw - (var(--iv-page-gutter) * 2));
    gap: clamp(1.1rem, 2.6vw, 1.8rem);
    margin-inline: auto;
    margin-block: clamp(1.4rem, 4vw, 3rem);
}

.iv-user-guides__head {
    max-width: 780px;
}

.iv-user-guides__head h2 {
    margin-block: .2rem .55rem;
}

.iv-user-guides__head p:not(.iv-kicker) {
    max-width: 68ch;
    color: var(--iv-muted);
}

.iv-user-guides__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(.95rem, 2.2vw, 1.4rem);
}

.iv-user-guide-card {
    position: relative;
    isolation: isolate;
    display: grid;
    min-width: 0;
    gap: 1rem;
    padding: clamp(1.15rem, 2.6vw, 1.65rem);
    overflow: hidden;
    border: 1px solid rgba(32, 63, 42, .12);
    border-radius: clamp(24px, 4vw, 34px);
    background:
        radial-gradient(circle at 90% 0%, rgba(216, 168, 91, .2), transparent 12rem),
        linear-gradient(145deg, rgba(255, 253, 246, .98), rgba(246, 236, 216, .88));
    box-shadow: var(--iv-shadow-soft);
}

.iv-user-guide-card::after {
    content: "";
    position: absolute;
    inset: auto -14% -34% 42%;
    z-index: -1;
    height: 62%;
    background: repeating-linear-gradient(135deg, rgba(32, 63, 42, .06) 0 1px, transparent 1px 18px);
    transform: rotate(-5deg);
}

.iv-user-guide-card__body span {
    display: inline-flex;
    margin-bottom: .55rem;
    padding: .34rem .7rem;
    border-radius: 999px;
    background: rgba(32, 63, 42, .09);
    color: var(--iv-forest);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.iv-user-guide-card h3 {
    margin: 0;
    font-size: clamp(1.35rem, 2.5vw, 2rem);
    line-height: 1.04;
}

.iv-user-guide-card h3 a {
    color: var(--iv-ink);
    text-decoration: none;
}

.iv-user-guide-card h3 a:hover {
    color: var(--iv-copper-strong);
}

.iv-user-guide-card p {
    max-width: 58ch;
    margin: .7rem 0 0;
    color: var(--iv-muted);
}

.iv-user-guide-card__picks {
    display: grid;
    gap: .55rem;
}

.iv-user-guide-card__picks a {
    display: grid;
    gap: .18rem;
    min-width: 0;
    padding: .78rem .9rem;
    border: 1px solid rgba(32, 63, 42, .1);
    border-radius: 18px;
    background: rgba(255, 253, 246, .82);
    color: var(--iv-ink);
    text-decoration: none;
}

.iv-user-guide-card__picks a:hover {
    border-color: rgba(185, 101, 50, .28);
    background: #fffdf6;
    color: var(--iv-copper-strong);
}

.iv-user-guide-card__picks strong,
.iv-user-guide-card__picks small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.iv-user-guide-card__picks small {
    color: var(--iv-muted);
    font-weight: 700;
}

.iv-user-guide-card__cta {
    justify-self: start;
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: .78rem 1rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #1f432d, #101611);
    color: #fffdf6 !important;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 12px 26px rgba(31, 67, 45, .18);
}

.iv-user-guide-card__cta:hover,
.iv-user-guide-card__cta:focus-visible {
    background: linear-gradient(135deg, #b96532, #6d331f);
    color: #fffdf6 !important;
}

.iv-home .iv-user-guides--compact {
    margin-top: clamp(.8rem, 2.2vw, 1.4rem);
}

.iv-home .iv-user-guides--compact .iv-user-guides__head {
    text-align: center;
    margin-inline: auto;
}

.iv-home .iv-user-guides--compact .iv-user-guides__head p:not(.iv-kicker) {
    margin-inline: auto;
}

@media (max-width: 860px) {
    .iv-user-guides__grid {
        grid-template-columns: 1fr;
    }

    .iv-app-page__grid {
        grid-template-columns: 1fr;
    }

    .iv-app-page__stores {
        display: grid;
    }

    .iv-app-page__stores > * {
        justify-content: center;
        width: 100%;
    }
}

.iv-page-hero,
.iv-archive .iv-page-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(1.6rem, 4vw, 3.4rem);
    border: 1px solid rgba(32, 63, 42, .1);
    border-radius: clamp(26px, 4vw, 42px);
    background:
        radial-gradient(circle at 8% 0%, rgba(216, 168, 91, .16), transparent 14rem),
        linear-gradient(145deg, rgba(255, 253, 246, .96), rgba(244, 234, 214, .74));
    box-shadow: var(--iv-shadow-soft);
}

.iv-page-hero .iv-single-title {
    margin-block: 0;
}

@container (max-width: 760px) {
    .iv-directory-hero {
        padding: clamp(1.5rem, 7vw, 2.3rem);
    }

    .iv-area-panel__head {
        display: grid;
    }

    .iv-area-panel__head .iv-directory-card__cta {
        width: 100%;
    }
}

/* Premium component pass: shared visual language for public cards and CTAs. */
.iv-home,
.iv-directory,
.iv-single,
.iv-page,
.iv-archive {
    --iv-card-surface:
        radial-gradient(circle at 12% 0%, rgba(242, 207, 143, .18), transparent 13rem),
        linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(255, 253, 246, .98));
    --iv-card-border: rgba(32, 63, 42, .12);
}

.iv-section-nav.alignwide {
    justify-content: center !important;
    flex-wrap: wrap !important;
    width: min(100%, 1180px);
    max-width: calc(100vw - (var(--iv-page-gutter) * 2));
    margin-inline: auto;
    border-radius: 28px;
}

.iv-section-nav a {
    border: 1px solid transparent;
    background: rgba(255, 253, 246, .38);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .46);
}

.iv-section-nav a:hover,
.iv-section-nav a:focus-visible {
    border-color: rgba(242, 207, 143, .28);
    background:
        radial-gradient(circle at 20% 0%, rgba(242, 207, 143, .22), transparent 5rem),
        var(--iv-forest);
}

.iv-card-link a,
.iv-directory-card__cta,
.iv-directory-hero__link,
.iv-dynamic-card__cta,
.iv-ready-proposal__cta,
.iv-article-footer-card__cta,
.invaltaro-card__cta,
.wp-block-button__link {
    min-height: 42px;
    align-items: center;
    border-radius: 999px !important;
    text-decoration: none !important;
}

.iv-card-link a {
    width: fit-content;
    padding: .5rem .78rem;
    border: 1px solid rgba(32, 63, 42, .12);
    background: rgba(255, 253, 246, .76);
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(23, 32, 24, .055);
}

.iv-card-link a:hover,
.iv-card-link a:focus-visible {
    border-color: rgba(185, 101, 50, .24);
    background: #fffdf6;
    color: var(--iv-copper-strong);
}

.iv-travel-card,
.iv-quick-card,
.iv-proof-card,
.iv-idea-card,
.iv-directory-card,
.iv-comune-card,
.iv-listing-card,
.iv-mini-card,
.iv-wp-card,
.iv-dynamic-card,
.iv-ready-proposal,
.iv-article-footer-card {
    border-color: var(--iv-card-border) !important;
    background: var(--iv-card-surface), var(--iv-paper) !important;
}

.iv-article-footer-card.iv-article-footer-card--action {
    border-color: rgba(242, 207, 143, .3) !important;
    background:
        radial-gradient(circle at 88% 6%, rgba(53, 95, 63, .92), transparent 12rem),
        linear-gradient(145deg, #121b14, #203f2a) !important;
    color: #fffdf6;
}

.iv-article-footer-card.iv-article-footer-card--action .iv-article-footer-card__label {
    border-color: rgba(242, 207, 143, .38);
    background: rgba(255, 253, 246, .12);
    color: #fffdf6;
}

.iv-article-footer-card.iv-article-footer-card--action li {
    background: transparent;
}

.iv-travel-card,
.iv-quick-card,
.iv-directory-card,
.iv-comune-card,
.iv-listing-card,
.iv-mini-card,
.iv-wp-card,
.iv-dynamic-card,
.iv-ready-proposal {
    transform: translateZ(0);
}

.iv-travel-card:hover,
.iv-quick-card:hover,
.iv-directory-card:hover,
.iv-comune-card:hover,
.iv-listing-card:hover,
.iv-mini-card:hover,
.iv-wp-card:hover,
.iv-dynamic-card:hover,
.iv-ready-proposal:hover {
    border-color: rgba(185, 101, 50, .24) !important;
}

.iv-travel-board__head,
.iv-section__head,
.iv-ready-proposals__head {
    max-width: 760px;
}

.iv-travel-board__head h2,
.iv-section__head h2,
.iv-ready-proposals__head h2 {
    margin-bottom: .55rem;
}

.iv-travel-board__head p:not(.iv-kicker),
.iv-section__head p:not(.iv-kicker),
.iv-ready-proposals__head p:not(.iv-kicker) {
    max-width: 58ch;
}

.iv-app-cta.alignwide {
    border: 1px solid rgba(242, 207, 143, .22);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .08),
        0 28px 76px rgba(16, 22, 17, .22);
}

.iv-app-cta__actions .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: .82rem 1.2rem;
    width: 100%;
    justify-content: center;
}

.iv-app-cta.alignwide .iv-button-primary .wp-block-button__link {
    background: #fffdf6 !important;
    color: var(--iv-forest-2) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .18);
}

.iv-app-cta.alignwide .iv-button-primary .wp-block-button__link:hover {
    background: var(--iv-brass-light, #f2cf8f) !important;
    color: var(--iv-forest-2) !important;
}

.iv-app-cta.alignwide .iv-button-outline-dark .wp-block-button__link {
    border-color: rgba(255, 253, 246, .48) !important;
    color: #fffdf6 !important;
}

.iv-app-cta.alignwide .iv-button-outline-dark .wp-block-button__link:hover {
    background: rgba(255, 253, 246, .14) !important;
}

.iv-site-footer {
    margin-top: clamp(3rem, 7vw, 6rem);
}

.iv-site-footer li a {
    display: inline-flex;
    width: fit-content;
    padding: .2rem .1rem;
}

/* UX guard: green CTAs must never fade to pale text on pale hover states. */
.iv-button-primary .wp-block-button__link:hover,
.iv-button-primary .wp-block-button__link:focus-visible,
.iv-card__cta:hover,
.iv-card__cta:focus-visible,
.invaltaro-card__cta:hover,
.invaltaro-card__cta:focus-visible,
.iv-directory-card__cta:hover,
.iv-directory-card__cta:focus-visible,
.iv-dynamic-card__cta:hover,
.iv-dynamic-card__cta:focus-visible,
.iv-ready-proposal__cta:hover,
.iv-ready-proposal__cta:focus-visible,
.iv-article-footer-card__cta:hover,
.iv-article-footer-card__cta:focus-visible,
.invaltaro-social-link:hover,
.invaltaro-social-link:focus-visible,
.iv-search .wp-block-search__button:hover,
.iv-search .wp-block-search__button:focus-visible {
    background:
        radial-gradient(circle at 18% 0%, rgba(242, 207, 143, .2), transparent 5rem),
        linear-gradient(135deg, #1f432d, #101611) !important;
    color: #fffdf6 !important;
    border-color: rgba(242, 207, 143, .34) !important;
    text-decoration: none !important;
}

.iv-app-cta.alignwide .iv-button-primary .wp-block-button__link,
.iv-app-cta.alignwide .iv-button-primary .wp-block-button__link:hover,
.iv-app-cta.alignwide .iv-button-primary .wp-block-button__link:focus-visible {
    background: #fffdf6 !important;
    color: var(--iv-forest-2) !important;
}

.iv-app-cta.alignwide .iv-button-outline-dark .wp-block-button__link:hover,
.iv-app-cta.alignwide .iv-button-outline-dark .wp-block-button__link:focus-visible {
    background: rgba(255, 253, 246, .14) !important;
    color: #fffdf6 !important;
}

/* Contrast guard: keep text readable in normal and hover states. */
.iv-site-claim,
.iv-site-section small {
    color: rgba(32, 63, 42, .78);
}

.iv-site-section--primary small,
.iv-site-section--app small {
    color: rgba(255, 253, 246, .88);
}

/* Header menu hover must stay readable on the pale selected state. */
.iv-site-section:hover,
.iv-site-section:focus-visible {
    background: #fffdf6 !important;
    color: var(--iv-forest-2) !important;
    border-color: rgba(185, 101, 50, .34) !important;
}

.iv-site-section:hover small,
.iv-site-section:focus-visible small {
    color: rgba(32, 63, 42, .78) !important;
}

.iv-breadcrumb__sep {
    color: var(--iv-forest);
}

.iv-button-outline .wp-block-button__link {
    background: rgba(15, 21, 16, .38) !important;
    color: #fffdf6 !important;
}

.iv-button-outline .wp-block-button__link:hover,
.iv-button-outline .wp-block-button__link:focus-visible {
    background:
        radial-gradient(circle at 18% 0%, rgba(242, 207, 143, .18), transparent 5rem),
        rgba(15, 21, 16, .54) !important;
    color: #fffdf6 !important;
}

.iv-search .wp-block-search__button {
    background: #6f3f24 !important;
    color: #fffdf6 !important;
}

.iv-travel-card--event {
    color: #fffdf6 !important;
    border-color: rgba(242, 207, 143, .22) !important;
    background:
        radial-gradient(circle at 88% 6%, rgba(242, 207, 143, .28), transparent 12rem),
        linear-gradient(145deg, #121b14, #203f2a) !important;
}

.iv-travel-card--event h3,
.iv-travel-card--event p,
.iv-travel-card--event a {
    color: #fffdf6 !important;
}

.iv-travel-card__index {
    color: #8e421f;
}

.iv-idea-card span {
    color: #8e421f;
}

.iv-travel-card--event .iv-travel-card__index {
    color: #fffdf6;
}

.invaltaro-social-link--instagram,
.invaltaro-social-link--newsletter {
    background: #8e421f;
    color: #fffdf6;
}

/* Home alignment guard: section headers use one editorial left edge. */
.iv-home .iv-travel-board__head,
.iv-home .iv-section__head,
.iv-home .iv-ready-proposals__head,
.iv-home .iv-dynamic-home__intro,
.iv-home .iv-destinations > .iv-kicker,
.iv-home .iv-destinations > h2,
.iv-home .iv-destinations > p,
.iv-home .iv-community > *,
.iv-home .iv-app-cta .wp-block-columns {
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
}

.iv-home .iv-travel-board {
    padding: clamp(1.6rem, 4.8vw, 4.4rem);
}

.iv-home .iv-travel-board__head .iv-kicker,
.iv-home .iv-section__head .iv-kicker,
.iv-home .iv-ready-proposals__head .iv-kicker,
.iv-home .iv-dynamic-home__intro .iv-kicker,
.iv-home .iv-destinations > .iv-kicker,
.iv-home .iv-seo-note .iv-kicker {
    width: fit-content !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
    justify-self: start !important;
}

.iv-home .iv-travel-board__head p:not(.iv-kicker),
.iv-home .iv-section__head p:not(.iv-kicker),
.iv-home .iv-ready-proposals__head p:not(.iv-kicker),
.iv-home .iv-dynamic-home__intro p:not(.iv-kicker),
.iv-home .iv-destinations > p {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.iv-home .iv-section__head {
    margin-inline: 0 auto !important;
}

.iv-home .iv-app-cta__actions {
    justify-content: flex-start !important;
}

.iv-home .iv-seo-note {
    margin-inline: auto !important;
    text-align: center !important;
}

.iv-home .iv-seo-note h2,
.iv-home .iv-seo-note p {
    margin-left: auto !important;
    margin-right: auto !important;
}

.iv-dynamic-card--event {
    color: #fffdf6 !important;
    border-color: rgba(242, 207, 143, .22) !important;
    background:
        radial-gradient(circle at 88% 6%, rgba(242, 207, 143, .28), transparent 12rem),
        linear-gradient(145deg, #121b14, #203f2a) !important;
}

.iv-dynamic-card--event h3,
.iv-dynamic-card--event h3 a,
.iv-dynamic-card--event p,
.iv-dynamic-card--event dt,
.iv-dynamic-card--event dd {
    color: #fffdf6 !important;
}

.iv-dynamic-card--event .iv-dynamic-card__eyebrow {
    color: #f2cf8f !important;
}

.iv-stories-strip .iv-story-card {
    border-color: rgba(255, 253, 246, .18) !important;
    background:
        radial-gradient(circle at 88% 0%, rgba(240, 196, 125, .18), transparent 8rem),
        rgba(255, 253, 246, .08) !important;
}

.iv-stories-strip .iv-story-card h3 a,
.iv-stories-strip .iv-story-card p,
.iv-stories-strip .iv-story-card small {
    color: #fffdf6 !important;
}

@media (max-width: 780px) {
    .iv-section-nav.alignwide {
        border-radius: 24px;
        padding-inline: .55rem;
        overflow-x: visible;
        scroll-snap-type: none;
    }

    .iv-section-nav p {
        flex: 0 0 auto;
    }

    .iv-card-link a {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 760px) {
    .iv-article-footer--fallback .iv-article-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 420px) {
    .iv-article-footer--fallback .iv-article-footer__grid {
        grid-template-columns: 1fr !important;
    }
}

.iv-404 {
    padding-block: clamp(1.2rem, 3vw, 2rem) clamp(3rem, 7vw, 5rem);
}

.iv-404-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(260px, .56fr);
    gap: clamp(1.4rem, 4vw, 3rem);
    align-items: center;
    min-height: clamp(430px, 62vh, 640px);
    overflow: hidden;
    padding: clamp(1.6rem, 5vw, 4rem);
    border: 1px solid rgba(32, 63, 42, .12);
    border-radius: clamp(28px, 5vw, 56px);
    color: #fffdf6;
    background:
        radial-gradient(circle at 84% 20%, rgba(240, 196, 125, .3), transparent 18rem),
        linear-gradient(135deg, rgba(18, 27, 20, .96), rgba(32, 63, 42, .82) 54%, rgba(152, 80, 36, .72));
    box-shadow: var(--iv-shadow);
    isolation: isolate;
}

.iv-404-hero::before {
    content: "";
    position: absolute;
    inset: -18% -12% -24% 34%;
    background:
        repeating-linear-gradient(132deg, rgba(255, 253, 246, .16) 0 1px, transparent 1px 18px),
        radial-gradient(circle at 70% 40%, rgba(255, 253, 246, .13), transparent 18rem);
    opacity: .78;
    transform: rotate(-4deg);
    animation: iv-404-drift 18s ease-in-out infinite alternate;
    pointer-events: none;
}

.iv-404-hero__content,
.iv-404-map {
    position: relative;
    z-index: 1;
}

.iv-404-hero__content {
    animation: iv-404-rise .5s ease both;
}

.iv-404-hero h1 {
    max-width: 760px;
    margin: 0 0 1rem;
    color: #fff;
    font-size: clamp(3.2rem, 8vw, 7rem);
    line-height: .92;
    letter-spacing: -.07em;
    text-wrap: balance;
}

.iv-404-hero p:not(.iv-kicker) {
    max-width: 620px;
    margin: 0;
    color: rgba(255, 253, 246, .84);
    font-size: clamp(1.05rem, 1.8vw, 1.24rem);
    line-height: 1.55;
}

.iv-404-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1.5rem;
}

.iv-404-actions a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 1rem;
    border: 1px solid rgba(255, 253, 246, .34);
    border-radius: 999px;
    color: #fffdf6;
    font-weight: 900;
    text-decoration: none;
    transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.iv-404-actions a:hover,
.iv-404-actions a:focus-visible {
    transform: translateY(-2px);
    border-color: #fffdf6;
    background: rgba(255, 253, 246, .14);
    color: #fffdf6;
    outline: none;
}

.iv-404-actions .iv-404-primary {
    border-color: #f0c47d;
    background: #f0c47d;
    color: #172018;
}

.iv-404-actions .iv-404-primary:hover,
.iv-404-actions .iv-404-primary:focus-visible {
    border-color: #fffdf6;
    background: #fffdf6;
    color: #172018;
}

.iv-404-map {
    display: grid;
    min-width: 0;
    aspect-ratio: 1;
    place-items: center;
    border: 1px solid rgba(255, 253, 246, .2);
    border-radius: 34px;
    background:
        linear-gradient(90deg, rgba(255, 253, 246, .1) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 253, 246, .1) 1px, transparent 1px),
        radial-gradient(circle at 34% 38%, rgba(240, 196, 125, .3), transparent 9rem),
        rgba(255, 253, 246, .08);
    background-size: 38px 38px, 38px 38px, auto, auto;
    box-shadow: inset 0 1px 0 rgba(255, 253, 246, .2), 0 28px 70px rgba(16, 22, 17, .24);
    animation: iv-404-float 5s ease-in-out infinite;
}

.iv-404-map::before {
    content: "";
    position: absolute;
    inset: 14%;
    border: 2px dashed rgba(255, 253, 246, .34);
    border-radius: 999px;
}

.iv-404-map::after {
    content: "";
    position: absolute;
    width: 42%;
    height: 42%;
    border: 1px solid rgba(255, 253, 246, .34);
    border-radius: 999px;
    background:
        radial-gradient(circle at 48% 48%, #fffdf6 0 9%, rgba(240, 196, 125, .74) 10% 28%, rgba(32, 63, 42, .54) 29% 100%);
    transform: translate(22%, -18%);
}

.iv-404-map span {
    position: relative;
    z-index: 1;
    color: #fff;
    font-size: clamp(4.5rem, 12vw, 9rem);
    font-weight: 900;
    letter-spacing: -.08em;
    line-height: .9;
}

.iv-404-search {
    max-width: 780px;
    margin: clamp(1.4rem, 3vw, 2rem) auto 0;
}

.iv-404-search .wp-block-search__inside-wrapper {
    border-color: rgba(32, 63, 42, .14);
    background: #fffdf6;
    box-shadow: 0 18px 44px rgba(23, 32, 24, .1);
}

.iv-404-routes {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(.75rem, 1.5vw, 1rem);
    margin-top: clamp(1.4rem, 3vw, 2rem);
}

.iv-404-routes a {
    display: grid;
    min-height: 160px;
    align-content: start;
    gap: .45rem;
    padding: clamp(.9rem, 1.8vw, 1.15rem);
    border: 1px solid var(--iv-border-soft);
    border-radius: 22px;
    background:
        radial-gradient(circle at 92% 0%, rgba(216, 168, 91, .16), transparent 8rem),
        rgba(255, 253, 246, .9);
    color: var(--iv-forest-2);
    text-decoration: none !important;
    box-shadow: 0 18px 42px rgba(23, 32, 24, .08);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.iv-404-routes a:hover,
.iv-404-routes a:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(185, 101, 50, .28);
    box-shadow: 0 24px 54px rgba(23, 32, 24, .12);
    outline: none;
}

.iv-404-routes span {
    width: fit-content;
    padding: .24rem .5rem;
    border-radius: 999px;
    background: rgba(242, 207, 143, .22);
    color: var(--iv-copper-strong);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.iv-404-routes strong {
    color: inherit;
    font-size: clamp(1rem, 1.4vw, 1.16rem);
    line-height: 1.12;
}

.iv-404-routes small {
    color: #53614f;
    font-size: .86rem;
    line-height: 1.42;
}

@keyframes iv-404-rise {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes iv-404-float {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

@keyframes iv-404-drift {
    from {
        transform: translate3d(0, 0, 0) rotate(-4deg);
    }
    to {
        transform: translate3d(-18px, 12px, 0) rotate(-2deg);
    }
}

@media (max-width: 900px) {
    .iv-404-hero {
        grid-template-columns: 1fr;
    }

    .iv-404-map {
        width: min(100%, 360px);
        justify-self: center;
    }

    .iv-404-routes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .iv-404-hero {
        min-height: auto;
        padding: 1.25rem;
    }

    .iv-404-actions a {
        width: 100%;
    }

    .iv-404-routes {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .iv-404-hero__content,
    .iv-404-map,
    .iv-404-hero::before {
        animation: none;
    }
}

.iv-poi-detail {
    display: grid;
    gap: clamp(1.4rem, 3vw, 2.4rem);
    max-width: 1180px;
    margin: 0 auto;
    padding: clamp(1.2rem, 3vw, 2.4rem) var(--iv-page-x, clamp(1rem, 4vw, 2rem)) clamp(2.5rem, 5vw, 4rem);
}

.iv-poi-detail > p:empty {
    display: none;
}

.iv-poi-hero,
.iv-poi-main {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .72fr);
    gap: clamp(1rem, 3vw, 2rem);
    align-items: stretch;
}

.iv-poi-hero__copy,
.iv-poi-story,
.iv-poi-map-panel,
.iv-poi-facts,
.iv-poi-planner {
    border: 1px solid var(--iv-border-soft);
    border-radius: 24px;
    background: rgba(255, 253, 246, .92);
    box-shadow: 0 18px 44px rgba(23, 32, 24, .07);
}

.iv-poi-hero__copy {
    padding: clamp(1.4rem, 4vw, 3rem);
    background:
        radial-gradient(circle at 88% 8%, rgba(242, 207, 143, .24), transparent 12rem),
        linear-gradient(135deg, #fffdf6, #f3ead8);
}

.iv-poi-hero__copy h1 {
    max-width: 820px;
    margin: .2rem 0 .7rem;
    color: var(--iv-forest-2);
    font-size: clamp(2rem, 5vw, 4.4rem);
    line-height: .98;
}

.iv-poi-hero__copy > p {
    max-width: 760px;
    margin: 0;
    color: var(--iv-ink-muted);
    font-size: clamp(1rem, 1.45vw, 1.18rem);
    line-height: 1.62;
}

.iv-poi-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1.25rem;
}

.iv-poi-actions a,
.iv-poi-contact-grid a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: .68rem 1rem;
    border-radius: 999px;
    font-weight: 850;
    text-decoration: none !important;
}

.iv-poi-actions .iv-button-primary {
    background: var(--iv-forest);
    color: #fffdf6;
}

.iv-poi-actions .iv-button-secondary,
.iv-poi-contact-grid a {
    border: 1px solid rgba(32, 63, 42, .16);
    background: rgba(255, 253, 246, .82);
    color: var(--iv-forest);
}

.iv-poi-facts {
    display: grid;
    align-content: start;
    gap: .8rem;
    padding: clamp(1rem, 2.4vw, 1.4rem);
}

.iv-poi-facts div {
    display: grid;
    gap: .18rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid rgba(32, 63, 42, .1);
}

.iv-poi-facts div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.iv-poi-facts dt {
    color: var(--iv-muted);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.iv-poi-facts dd {
    margin: 0;
    color: var(--iv-forest-2);
    font-weight: 800;
    line-height: 1.35;
}

.iv-poi-story,
.iv-poi-map-panel {
    padding: clamp(1rem, 2.6vw, 1.6rem);
}

.iv-poi-story h2,
.iv-poi-planner__head h2 {
    margin: .2rem 0 .7rem;
    color: var(--iv-forest-2);
    font-size: clamp(1.55rem, 2.7vw, 2.45rem);
    line-height: 1.05;
}

.iv-poi-story p,
.iv-poi-story__content,
.iv-poi-map-panel p,
.iv-poi-planner__head p,
.iv-poi-planner-card p {
    color: var(--iv-ink-muted);
    line-height: 1.62;
}

.iv-poi-contact-grid {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: 1rem;
}

.iv-poi-map-panel iframe {
    display: block;
    width: 100%;
    min-height: 360px;
    border: 0;
    border-radius: 18px;
    background: #dfe8dc;
}

.leaflet-control-zoom a,
.leaflet-touch .leaflet-control-zoom a {
    width: 42px !important;
    height: 42px !important;
    line-height: 42px !important;
    font-size: 1.25rem !important;
}

.iv-poi-map-panel p:last-child {
    margin-bottom: 0;
    font-size: .86rem;
}

.iv-poi-planner {
    padding: clamp(1rem, 2.8vw, 1.8rem);
    background:
        radial-gradient(circle at 8% 0%, rgba(132, 185, 94, .14), transparent 12rem),
        rgba(255, 253, 246, .94);
}

.iv-poi-planner__head {
    max-width: 760px;
    margin-bottom: 1rem;
}

.iv-poi-planner__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1rem, 2.2vw, 1.25rem);
}

.iv-poi-planner-card {
    display: grid;
    gap: .7rem;
    min-height: 100%;
    padding: 1rem;
    border: 1px solid rgba(32, 63, 42, .11);
    border-radius: 18px;
    background: rgba(255, 255, 255, .68);
}

.iv-poi-planner-card h3 {
    margin: 0;
    color: var(--iv-forest);
    font-size: 1rem;
}

.iv-poi-planner-card ul {
    display: grid;
    gap: .65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.iv-poi-planner-card li {
    display: grid;
    gap: .15rem;
}

.iv-poi-planner-card a {
    color: var(--iv-forest-2);
    font-weight: 850;
    line-height: 1.22;
    text-decoration: none !important;
}

.iv-poi-planner-card a:hover,
.iv-poi-planner-card a:focus-visible {
    color: var(--iv-copper-strong);
    text-decoration: none !important;
}

.iv-poi-planner-card span {
    color: var(--iv-muted);
    font-size: .82rem;
    line-height: 1.35;
}

.iv-poi-source-note {
    display: flex;
    justify-content: flex-end;
    margin-top: -.4rem;
    color: rgba(32, 63, 42, .64);
}

.iv-poi-source-note a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: .18rem .42rem;
    border-radius: 999px;
    color: inherit;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .03em;
    text-decoration: none !important;
    background: rgba(255, 253, 246, .68);
    border: 1px solid rgba(32, 63, 42, .08);
}

.iv-poi-source-note a:hover,
.iv-poi-source-note a:focus-visible {
    color: var(--iv-copper-strong);
    border-color: rgba(185, 101, 50, .18);
    background: rgba(255, 253, 246, .92);
}

@media (max-width: 980px) {
    .iv-poi-hero,
    .iv-poi-main {
        grid-template-columns: 1fr;
    }

    .iv-poi-planner__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .iv-poi-detail {
        padding-inline: 1rem;
    }

    .iv-poi-hero__copy,
    .iv-poi-story,
    .iv-poi-map-panel,
    .iv-poi-facts,
    .iv-poi-planner {
        border-radius: 18px;
    }

    .iv-poi-actions a,
    .iv-poi-contact-grid a {
        width: 100%;
    }

    .iv-poi-map-panel iframe {
        min-height: 280px;
    }

    .iv-poi-planner__grid {
        grid-template-columns: 1fr;
    }

    .iv-poi-source-note {
        justify-content: flex-start;
        margin-top: -.2rem;
    }
}

/*
 * Mobile polish layer.
 * Keeps the editorial desktop look, but makes the theme feel native and stable
 * on narrow devices: no sideways overflow, predictable tap targets and tighter
 * hierarchy inside compact viewports.
 */
@media (max-width: 900px) {
    html,
    body {
        width: 100%;
        overflow-x: clip;
    }

    .iv-site-header {
        position: sticky;
        top: 0;
        padding-block: .48rem;
    }

    .iv-site-header__bar {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        max-width: calc(100vw - 36px);
        min-height: 0;
        gap: .55rem .75rem;
    }

    .iv-site-brand {
        display: inline-flex !important;
        align-items: center;
        width: auto;
        min-width: 0;
        gap: .55rem;
    }

    .iv-site-claim {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .iv-site-sections {
        grid-column: 1 / -1;
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: max-content;
        justify-content: start;
        gap: .42rem;
        width: 100%;
        padding: .08rem .1rem .52rem;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-padding-inline: .1rem;
        scroll-snap-type: inline proximity;
        -webkit-overflow-scrolling: touch;
        mask-image: linear-gradient(90deg, #000 calc(100% - 2rem), transparent);
    }

    .iv-site-section {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 42px;
        padding: .48rem .68rem;
        scroll-snap-align: start;
        line-height: 1;
    }

    .iv-site-section small {
        display: none;
    }

    .iv-hero,
    .iv-home > .iv-hero.alignwide {
        grid-template-columns: 1fr !important;
        align-items: start;
        min-height: auto;
        padding: clamp(1.35rem, 5vw, 2.25rem);
        border-radius: 24px;
    }

    .iv-hero__content,
    .iv-home > .iv-hero.alignwide > .iv-hero__content {
        max-width: 100%;
    }

    .iv-hero__title {
        max-width: 11ch;
        font-size: clamp(2.45rem, 14vw, 4.4rem);
        line-height: .96;
        letter-spacing: -.055em;
    }

    .iv-hero__lead {
        max-width: 34rem;
        font-size: clamp(1rem, 4vw, 1.14rem);
        line-height: 1.45;
    }

    .iv-hero__panel,
    .iv-home > .iv-hero.alignwide > .iv-hero__panel {
        width: 100%;
        margin: .35rem 0 0;
        padding: 1rem;
        border-radius: 20px;
    }

    .iv-feature-list {
        display: grid;
        gap: .48rem;
        padding-left: 1rem;
        font-size: .94rem;
        line-height: 1.35;
    }

    .iv-section-nav.alignwide,
    .iv-section-nav {
        display: grid !important;
        grid-auto-flow: column;
        grid-auto-columns: max-content;
        justify-content: start !important;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        overflow-y: hidden;
        padding: .42rem .48rem .58rem;
        border-radius: 20px;
        scroll-padding-inline: .48rem;
        scroll-snap-type: inline proximity;
        -webkit-overflow-scrolling: touch;
        mask-image: linear-gradient(90deg, #000 calc(100% - 2rem), transparent);
    }

    .iv-section-nav p {
        margin: 0 !important;
        scroll-snap-align: start;
    }

    .iv-section-nav a {
        min-height: 38px;
        padding-inline: .72rem;
        font-size: .76rem;
    }

    .iv-planner,
    .iv-travel-board,
    .iv-dynamic-home,
    .iv-ready-proposals,
    .iv-section,
    .iv-destinations,
    .iv-signature,
    .iv-app-cta,
    .iv-stories-strip,
    .iv-article-footer,
    .iv-directory-hero,
    .iv-area-panel {
        border-radius: 22px;
    }

    .iv-travel-board__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .iv-query-cards .wp-block-post-template,
    .invaltaro-poi-list-block,
    .invaltaro-events-list-block,
    .invaltaro-experiences-list-block,
    .invaltaro-bookable-resources-list-block,
    .invaltaro-stories-list-block,
    .iv-quick-grid,
    .iv-proof-grid,
    .iv-idea-board,
    .iv-directory-grid,
    .iv-listing-grid,
    .iv-mini-card-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    :root {
        --iv-page-gutter: .9rem;
        --iv-section-gap: 2.35rem;
    }

    body {
        background:
            radial-gradient(circle at 0% 0%, rgba(185, 101, 50, .12), transparent 18rem),
            var(--iv-cream);
    }

    .iv-home {
        padding-bottom: 3rem;
    }

    .iv-home > .alignwide,
    .iv-breadcrumb,
    .iv-article-footer,
    .iv-directory {
        max-width: calc(100vw - 1.8rem);
    }

    .iv-site-header__bar {
        max-width: calc(100vw - 24px);
    }

    .iv-site-logo,
    .iv-site-logo img {
        width: 32px !important;
        max-width: 32px !important;
        height: 32px !important;
        max-height: 32px !important;
    }

    .iv-site-claim {
        font-size: .64rem;
        letter-spacing: .045em;
    }

    .iv-site-section {
        min-height: 40px;
        padding: .48rem .66rem;
    }

    .iv-site-section span {
        font-size: .8rem;
    }

    .iv-hero,
    .iv-home > .iv-hero.alignwide {
        margin-top: .85rem !important;
        padding: 1.05rem;
        border-radius: 20px;
    }

    .iv-kicker {
        margin-bottom: .55rem !important;
        font-size: .68rem;
        letter-spacing: .1em;
        line-height: 1.2;
    }

    .iv-hero__title {
        max-width: 10ch;
        margin-bottom: .78rem !important;
        font-size: clamp(2.28rem, 15.4vw, 3.55rem);
    }

    .iv-hero__lead {
        font-size: .98rem;
    }

    .iv-hero__actions {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: .55rem;
        margin-top: 1rem;
    }

    .iv-hero__actions .wp-block-button,
    .iv-hero__actions .wp-block-button__link {
        width: 100%;
    }

    .iv-hero__panel {
        padding: .85rem;
    }

    .iv-search .wp-block-search__inside-wrapper {
        display: grid;
        grid-template-columns: 1fr;
        gap: .38rem;
        padding: .42rem;
        border-radius: 18px;
    }

    .iv-search input[type="search"] {
        min-height: 42px;
        padding: .56rem .72rem;
        font-size: .95rem;
    }

    .iv-search .wp-block-search__button {
        width: 100%;
        min-height: 42px;
        margin: 0;
    }

    .iv-finder-links {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .4rem;
    }

    .iv-finder-links a {
        width: 100%;
        min-height: 36px;
        justify-content: center;
        padding-inline: .38rem;
        font-size: .75rem;
        text-align: center;
    }

    .iv-feature-list {
        font-size: .88rem;
    }

    .iv-section-nav.alignwide,
    .iv-section-nav {
        max-width: calc(100vw - 1.8rem);
        margin-top: .85rem;
        margin-inline: auto;
    }

    .iv-planner,
    .iv-travel-board,
    .iv-dynamic-home,
    .iv-ready-proposals,
    .iv-section,
    .iv-destinations,
    .iv-signature,
    .iv-app-cta,
    .iv-stories-strip,
    .iv-article-footer,
    .iv-directory-hero,
    .iv-area-panel {
        padding: 1rem;
        border-radius: 18px;
    }

    .iv-planner,
    .iv-travel-board,
    .iv-dynamic-home,
    .iv-ready-proposals,
    .iv-quick-grid {
        margin-top: 1.4rem;
    }

    .iv-planner__intro h2,
    .iv-travel-board__head h2,
    .iv-dynamic-home__intro h2,
    .iv-ready-proposals__head h2,
    .iv-destinations h2,
    .iv-section__head h2,
    .iv-section h2,
    .iv-directory-hero h1,
    .iv-area-panel__head h2 {
        font-size: clamp(1.55rem, 8.2vw, 2.35rem);
        line-height: 1.04;
        letter-spacing: -.04em;
    }

    .iv-planner__intro p,
    .iv-travel-board__head p:not(.iv-kicker),
    .iv-dynamic-home__intro p:not(.iv-kicker),
    .iv-ready-proposals__head p:not(.iv-kicker),
    .iv-destinations > p,
    .iv-section__head p,
    .iv-directory-hero p {
        font-size: .96rem;
        line-height: 1.45;
    }

    .iv-intent-grid,
    .iv-ready-proposals__rail {
        padding-bottom: .78rem;
        mask-image: linear-gradient(90deg, #000 calc(100% - 1.5rem), transparent);
    }

    .iv-intent-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .72rem;
        overflow: visible;
        padding: .15rem 0 0;
        mask-image: none;
        scrollbar-gutter: auto;
    }

    .iv-intent-pill {
        width: 100%;
        flex: 1 1 auto;
        min-height: 82px;
        padding: 0;
        border-radius: 16px;
    }

    .iv-intent-pill a {
        padding: .78rem;
    }

    .iv-travel-board__grid,
    .iv-query-cards .wp-block-post-template,
    .invaltaro-poi-list-block,
    .invaltaro-events-list-block,
    .invaltaro-experiences-list-block,
    .invaltaro-bookable-resources-list-block,
    .invaltaro-stories-list-block,
    .iv-quick-grid,
    .iv-proof-grid,
    .iv-idea-board,
    .iv-directory-grid,
    .iv-comuni-grid,
    .iv-listing-grid,
    .iv-mini-card-row,
    .iv-stories-grid {
        grid-template-columns: 1fr !important;
    }

    .iv-travel-card,
    .iv-quick-card,
    .iv-proof-card,
    .iv-idea-card,
    .iv-directory-card,
    .iv-comune-card,
    .iv-listing-card,
    .iv-mini-card,
    .iv-wp-card,
    .iv-dynamic-card,
    .iv-ready-proposal,
    .iv-article-footer-card,
    .invaltaro-card {
        min-height: 0;
        padding: .95rem;
        border-radius: 16px !important;
    }

    .iv-travel-card h3,
    .iv-quick-card h2,
    .iv-proof-card strong,
    .iv-idea-card strong,
    .iv-wp-card .wp-block-post-title,
    .invaltaro-card__title {
        font-size: clamp(1.08rem, 5.2vw, 1.35rem);
        line-height: 1.1;
        letter-spacing: -.025em;
    }

    .iv-card-link a,
    .iv-directory-card__cta,
    .iv-directory-hero__link,
    .iv-event-index-card__cta,
    .iv-dynamic-card__cta,
    .iv-ready-proposal__cta,
    .iv-article-footer-card__cta,
    .invaltaro-card__cta,
    .wp-block-button__link,
    .invaltaro-social-link {
        width: 100%;
        min-height: 44px;
        justify-content: center;
        padding-inline: .85rem;
        text-align: center;
    }

    .iv-event-index-card {
        grid-template-columns: 1fr;
        gap: .85rem;
        padding: .95rem;
        border-radius: 16px;
    }

    .iv-event-index-card__date {
        grid-template-columns: auto auto auto;
        justify-content: center;
        min-height: 0;
        gap: .42rem;
        padding: .62rem .75rem;
    }

    .iv-event-index-card__date time {
        font-size: 1rem;
        line-height: 1;
    }

    .iv-event-index-card__meta div {
        grid-template-columns: 1fr;
        gap: .1rem;
    }

    .iv-destination-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .52rem;
    }

    .iv-destination-grid p {
        min-height: 42px;
        margin: 0 !important;
        padding: 0;
    }

    .iv-destination-grid a {
        width: 100%;
        min-height: 42px;
        padding: .48rem .5rem;
        justify-content: center;
        font-size: clamp(.72rem, 3.45vw, .86rem);
        line-height: 1.05;
        text-align: center;
        white-space: normal;
        word-break: normal;
        overflow-wrap: anywhere;
    }

    .iv-comune-card dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .52rem;
    }

    .iv-comune-card dl div {
        border-radius: 14px;
    }

    .invaltaro-card__image,
    .iv-wp-card .wp-block-post-featured-image {
        border-radius: 14px;
    }

    .invaltaro-card__image img,
    .iv-wp-card .wp-block-post-featured-image img {
        min-height: 170px;
    }

    .iv-poi-map-panel iframe {
        min-height: 260px;
        border-radius: 14px;
    }
}

@media (max-width: 380px) {
    :root {
        --iv-page-gutter: .72rem;
    }

    .iv-site-claim {
        font-size: .6rem;
    }

    .iv-hero__title {
        font-size: clamp(2rem, 15vw, 3rem);
    }

    .iv-finder-links {
        grid-template-columns: 1fr;
    }

    .iv-intent-grid {
        grid-template-columns: 1fr !important;
    }

    .iv-destination-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Final mobile refinement: keep public pages compact, readable and free of side overflow. */
@media (max-width: 760px) {
    .wp-site-blocks {
        overflow-x: clip;
    }

    .iv-site-header {
        padding-block: .38rem;
    }

    .iv-site-header__bar {
        gap: .42rem .58rem;
    }

    .iv-site-brand {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .iv-site-sections {
        margin-inline: 0;
        padding: .08rem .15rem .5rem;
        gap: .36rem;
        mask-image: linear-gradient(90deg, transparent 0, #000 .45rem, #000 calc(100% - 1.25rem), transparent 100%);
    }

    .iv-site-section {
        min-height: 38px;
        padding: .46rem .62rem;
    }

    .iv-site-section span {
        font-size: .78rem;
    }

    .iv-home > .alignwide,
    .iv-directory,
    .iv-page,
    .iv-single,
    .iv-archive,
    .iv-breadcrumb,
    .iv-article-footer {
        max-width: calc(100vw - 1.5rem);
    }

    .iv-page,
    .iv-single,
    .iv-archive {
        padding-inline: 0;
    }

    .iv-page-hero,
    .iv-single-hero,
    .iv-directory-hero,
    .iv-poi-hero,
    .iv-404-hero {
        padding: 1.05rem;
        border-radius: 18px;
    }

    .iv-page-hero .iv-single-title,
    .iv-single-title,
    .iv-single-hero h1,
    .iv-page-hero h1,
    .iv-directory-hero h1,
    .iv-poi-hero__copy h1 {
        width: 100%;
        max-width: none;
        font-size: clamp(1.9rem, 11vw, 3rem);
        line-height: 1.02;
        letter-spacing: -.04em;
        text-wrap: balance;
        overflow-wrap: normal;
        word-break: normal;
    }

    .iv-single .iv-single-title,
    .iv-single > .iv-single-hero .iv-single-title,
    .iv-single > .iv-single-hero h1 {
        max-width: 15ch;
        font-size: clamp(2.15rem, 9vw, 2.55rem);
        line-height: 1.04;
    }

    .iv-single-cover,
    .iv-page .iv-single-cover,
    .iv-single .iv-single-cover {
        width: 100%;
        max-width: calc(100vw - 1.5rem);
        margin-inline: auto;
        border-radius: 18px;
        overflow: hidden;
    }

    .iv-single-content,
    .iv-page .iv-single-content {
        font-size: 1rem;
        line-height: 1.62;
    }

    .iv-home > .iv-hero.alignwide,
    .iv-hero {
        gap: .9rem;
        margin-top: .65rem !important;
        padding: .95rem;
        border-radius: 18px;
    }

    .iv-hero__title {
        max-width: 12ch;
        font-size: clamp(2.05rem, 13.2vw, 3.35rem);
        line-height: .98;
    }

    .iv-hero__lead {
        margin-top: 0 !important;
        font-size: .95rem;
        line-height: 1.42;
    }

    .iv-hero__panel,
    .iv-home > .iv-hero.alignwide > .iv-hero__panel {
        margin-top: .12rem;
        padding: .78rem;
        border-radius: 16px;
    }

    .iv-hero-finder {
        margin-bottom: .75rem;
        padding-inline: 0;
    }

    .iv-search .wp-block-search__inside-wrapper {
        gap: .34rem;
        padding: .34rem;
        border-radius: 16px;
    }

    .iv-search input[type="search"],
    .iv-search .wp-block-search__button {
        min-height: 40px;
        font-size: .88rem;
    }

    .iv-finder-links {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .32rem;
        margin-top: .55rem !important;
    }

    .iv-finder-links a {
        min-height: 34px;
        padding: .38rem .32rem;
        font-size: .68rem;
        line-height: 1.05;
        text-decoration: none !important;
    }

    .iv-feature-list {
        gap: .34rem;
        padding-left: .95rem;
        font-size: .84rem;
        line-height: 1.28;
    }

    .iv-section-nav.alignwide,
    .iv-section-nav {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        max-width: calc(100vw - 1.5rem);
        margin-top: .75rem;
        overflow-x: auto;
        overflow-y: hidden;
        padding: .38rem .44rem .5rem;
        border-radius: 18px;
        scroll-snap-type: inline proximity;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        mask-image: linear-gradient(90deg, #000 calc(100% - 1.45rem), transparent);
    }

    .iv-section-nav::-webkit-scrollbar {
        display: none;
    }

    .iv-section-nav a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 36px;
        padding-inline: .62rem;
        font-size: .72rem;
        line-height: 1;
        text-decoration: none !important;
    }

    .iv-planner,
    .iv-travel-board,
    .iv-dynamic-home,
    .iv-ready-proposals,
    .iv-section,
    .iv-destinations,
    .iv-signature,
    .iv-app-cta,
    .iv-stories-strip,
    .iv-community,
    .iv-seo-note,
    .iv-article-footer,
    .iv-area-panel {
        padding: .95rem;
        border-radius: 18px;
    }

    .iv-planner__intro h2,
    .iv-travel-board__head h2,
    .iv-dynamic-home__intro h2,
    .iv-ready-proposals__head h2,
    .iv-destinations h2,
    .iv-section__head h2,
    .iv-section h2,
    .iv-app-cta h2,
    .iv-seo-note h2 {
        font-size: clamp(1.45rem, 8vw, 2.1rem);
        line-height: 1.05;
    }

    .iv-travel-card,
    .iv-quick-card,
    .iv-proof-card,
    .iv-idea-card,
    .iv-directory-card,
    .iv-comune-card,
    .iv-listing-card,
    .iv-mini-card,
    .iv-wp-card,
    .iv-dynamic-card,
    .iv-ready-proposal,
    .iv-article-footer-card,
    .invaltaro-card {
        padding: .9rem;
    }

    .iv-destination-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .45rem;
    }

    .iv-destination-grid p {
        min-width: 0;
    }

    .iv-destination-grid a {
        min-height: 40px;
        padding: .44rem .4rem;
        font-size: clamp(.68rem, 3vw, .8rem);
        line-height: 1.05;
        text-decoration: none !important;
        white-space: normal;
    }

    .iv-card-link a,
    .iv-directory-card__cta,
    .iv-directory-hero__link,
    .iv-dynamic-card__cta,
    .iv-ready-proposal__cta,
    .iv-article-footer-card__cta,
    .invaltaro-card__cta,
    .wp-block-button__link {
        min-height: 42px;
        padding: .68rem .82rem;
        font-size: .86rem;
    }

    .iv-instagram-follow--footer {
        width: 100%;
    }

    .iv-instagram-follow--footer .iv-instagram-follow__qr-link {
        display: none;
    }

    .iv-home > .iv-section-nav.alignwide,
    .iv-home > .iv-section-nav {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: .34rem;
        justify-content: center !important;
        overflow: visible;
        padding: .38rem;
        mask-image: none;
    }

    .iv-home > .iv-section-nav p {
        min-width: 0;
        margin: 0 !important;
        flex: 1 1 calc(33.333% - .34rem);
    }

    .iv-home > .iv-section-nav a {
        width: 100%;
        min-width: 0;
        min-height: 42px;
        padding: .42rem .26rem;
        font-size: .7rem;
        line-height: 1.12;
        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
    }
}

@media (max-width: 420px) {
    .iv-home > .alignwide,
    .iv-directory,
    .iv-page,
    .iv-single,
    .iv-archive,
    .iv-breadcrumb,
    .iv-article-footer {
        max-width: calc(100vw - 1.1rem);
    }

    .iv-page .iv-breadcrumb:first-child,
    .iv-single .iv-breadcrumb:first-child,
    .iv-archive .iv-breadcrumb:first-child,
    .iv-poi-detail > .iv-breadcrumb:first-child {
        margin-top: .1rem !important;
    }

    .iv-site-section {
        padding-inline: .56rem;
    }

    .iv-site-section span {
        font-size: .74rem;
    }

    .iv-hero__title {
        max-width: 11ch;
    }

    .iv-finder-links {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .iv-finder-links a {
        font-size: .64rem;
    }

    .iv-destination-grid a {
        font-size: .66rem;
    }
}

/* Mobile reading gutter: keep content away from the viewport edge on touch devices. */
@media (max-width: 760px) {
    :root {
        --iv-mobile-page-gutter: clamp(1.12rem, 5.4vw, 1.5rem);
        --iv-mobile-inner-gutter: clamp(1.12rem, 5vw, 1.48rem);
    }

    .iv-home {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .iv-home > .alignwide,
    .iv-section-nav.alignwide,
    .iv-section-nav {
        width: calc(100vw - (var(--iv-mobile-page-gutter) * 2)) !important;
        max-width: calc(100vw - (var(--iv-mobile-page-gutter) * 2)) !important;
    }

    .iv-home > .iv-hero.alignwide,
    .iv-home > .iv-section-nav.alignwide,
    .iv-home > .iv-planner.alignwide,
    .iv-home > .iv-travel-board.alignwide,
    .iv-home > .iv-section.alignwide,
    .iv-home > .iv-destinations.alignwide,
    .iv-home > .iv-app-cta.alignwide,
    .iv-home > .iv-quick-grid.alignwide {
        width: calc(100vw - (var(--iv-mobile-page-gutter) * 2)) !important;
        max-width: calc(100vw - (var(--iv-mobile-page-gutter) * 2)) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .iv-home > .alignwide {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .iv-page,
    .iv-single,
    .iv-archive {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .iv-page > .iv-page-hero,
    .iv-page > .iv-single-cover,
    .iv-page > .iv-single-content,
    .iv-page .entry-content,
    .iv-page .entry-content:has(.iv-directory),
    .iv-page .entry-content:has(.iv-directory) > .iv-directory,
    .iv-page .entry-content:has(.iv-directory) > .iv-breadcrumb:first-child,
    .iv-single > .iv-single-hero,
    .iv-single > .iv-single-cover,
    .iv-single > .iv-single-content,
    .iv-single > .iv-breadcrumb:first-child,
    .iv-single > .iv-article-footer,
    .iv-archive > .alignwide,
    .iv-archive > .iv-page-hero.alignwide,
    .iv-archive > .iv-query-cards.alignwide,
    .iv-page > .iv-breadcrumb:first-child,
    .iv-page > .iv-article-footer,
    .iv-page .iv-directory,
    .iv-page .iv-breadcrumb,
    .iv-page .iv-article-footer,
    .iv-single .iv-directory,
    .iv-single .iv-breadcrumb,
    .iv-single .iv-article-footer,
    .iv-archive .iv-directory,
    .iv-archive .iv-breadcrumb,
    .iv-archive .iv-article-footer {
        width: auto !important;
        max-width: calc(100vw - (var(--iv-mobile-page-gutter) * 2)) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    .iv-page .entry-content,
    .iv-page .entry-content:has(.iv-directory) {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .iv-home > .iv-hero.alignwide,
    .iv-page-hero,
    .iv-single-hero,
    .iv-directory-hero,
    .iv-poi-hero,
    .iv-404-hero,
    .iv-planner,
    .iv-travel-board,
    .iv-dynamic-home,
    .iv-ready-proposals,
    .iv-section,
    .iv-destinations,
    .iv-signature,
    .iv-app-cta,
    .iv-stories-strip,
    .iv-community,
    .iv-seo-note,
    .iv-article-footer,
    .iv-area-panel,
    .iv-app-handoff {
        padding-left: var(--iv-mobile-inner-gutter) !important;
        padding-right: var(--iv-mobile-inner-gutter) !important;
    }

    .iv-site-footer > .iv-site-footer__grid,
    .iv-site-footer > .iv-site-footer__small,
    .iv-instagram-follow--event {
        width: calc(100vw - (var(--iv-mobile-page-gutter) * 2)) !important;
        max-width: calc(100vw - (var(--iv-mobile-page-gutter) * 2)) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    .iv-instagram-follow--footer {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .iv-site-footer {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

body.iv-home-no-events .iv-home-event-cta {
    display: none !important;
}

/* Breadcrumb/header spacing guard: keep crumbs close to the sticky header. */
.iv-page,
.iv-single,
.iv-archive {
    padding-top: clamp(.35rem, 1vw, .75rem) !important;
}

.iv-poi-detail {
    padding-top: clamp(.18rem, .6vw, .45rem) !important;
}

.iv-breadcrumb,
.iv-page .iv-breadcrumb:first-child,
.iv-single .iv-breadcrumb:first-child,
.iv-archive .iv-breadcrumb:first-child,
.iv-poi-detail > .iv-breadcrumb:first-child {
    margin-top: clamp(.08rem, .28vw, .22rem) !important;
    margin-bottom: clamp(.45rem, 1vw, .75rem) !important;
}

.iv-poi-detail > p:empty + .iv-breadcrumb {
    margin-top: 0 !important;
}

/* Contrast guard: preserve dark editorial cards after shared surface rules. */
.iv-ready-proposal--event {
    color: #fffdf6 !important;
    border-color: rgba(242, 207, 143, .28) !important;
    background:
        radial-gradient(circle at 88% 4%, rgba(242, 207, 143, .24), transparent 10rem),
        linear-gradient(145deg, #121b14, #203f2a) !important;
}

.iv-ready-proposal--event,
.iv-ready-proposal--event h3,
.iv-ready-proposal--event h3 a,
.iv-ready-proposal--event p,
.iv-ready-proposal--event li,
.iv-ready-proposal--event li a {
    color: #fffdf6 !important;
}

.iv-ready-proposal--event .iv-ready-proposal__kicker,
.iv-ready-proposal--event .iv-ready-proposal__meta span,
.iv-ready-proposal--event li span {
    color: #f2cf8f !important;
}

.iv-ready-proposal--event .iv-ready-proposal__reason {
    border-color: rgba(242, 207, 143, .26) !important;
    background: rgba(255, 253, 246, .1) !important;
    color: #fffdf6 !important;
}

.iv-stories-strip .iv-story-card {
    color: #fffdf6 !important;
    background:
        radial-gradient(circle at 88% 0%, rgba(242, 207, 143, .2), transparent 8rem),
        linear-gradient(145deg, rgba(18, 27, 20, .96), rgba(32, 63, 42, .92)) !important;
}

.iv-stories-strip .iv-story-card,
.iv-stories-strip .iv-story-card h3,
.iv-stories-strip .iv-story-card h3 a,
.iv-stories-strip .iv-story-card p,
.iv-stories-strip .iv-story-card small {
    color: #fffdf6 !important;
}

.iv-stories-strip .iv-story-card__label {
    color: #f2cf8f !important;
}

.iv-section--forest {
    color: #fffdf6 !important;
    background:
        radial-gradient(circle at 76% 12%, rgba(242, 207, 143, .32), transparent 20rem),
        radial-gradient(circle at 6% 100%, rgba(185, 101, 50, .18), transparent 24rem),
        linear-gradient(135deg, rgb(15, 21, 16) 0%, rgb(32, 63, 42) 58%, rgb(111, 63, 36) 100%) !important;
}

.iv-section--forest h2,
.iv-section--forest p {
    color: #fffdf6 !important;
}

.iv-section--forest .iv-kicker {
    color: #f2cf8f !important;
}

.iv-section--forest .invaltaro-card {
    color: var(--iv-forest-2) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(255, 253, 246, .98)),
        var(--iv-paper) !important;
}

.iv-section--forest .invaltaro-card__title,
.iv-section--forest .invaltaro-card__title a {
    color: var(--iv-forest-2) !important;
}

.iv-section--forest .invaltaro-card__excerpt,
.iv-section--forest .invaltaro-card__meta {
    color: var(--iv-ink-muted) !important;
}

.iv-section--forest .invaltaro-card__eyebrow {
    color: var(--iv-copper-strong) !important;
}

.iv-app-cta.alignwide {
    color: #fffdf6 !important;
    border-color: rgba(242, 207, 143, .24) !important;
    background:
        radial-gradient(circle at 14% 8%, rgba(242, 207, 143, .24), transparent 18rem),
        radial-gradient(circle at 92% 18%, rgba(185, 101, 50, .18), transparent 22rem),
        linear-gradient(135deg, #101611 0%, #203f2a 64%, #31452b 100%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 253, 246, .14),
        0 28px 76px rgba(16, 22, 17, .2) !important;
}

.iv-app-cta.alignwide::before {
    background:
        linear-gradient(135deg, rgba(255, 253, 246, .14), transparent 34%),
        linear-gradient(315deg, rgba(242, 207, 143, .08), transparent 26%) !important;
}

.iv-app-cta.alignwide .wp-block-columns,
.iv-app-cta.alignwide .wp-block-column {
    color: inherit !important;
    background: transparent !important;
    box-shadow: none !important;
}

.iv-app-cta.alignwide h2,
.iv-app-cta.alignwide p,
.iv-app-cta.alignwide .iv-kicker {
    color: #fffdf6 !important;
}

.iv-app-cta.alignwide .iv-kicker {
    color: #f2cf8f !important;
}

.iv-app-cta.alignwide p:not(.iv-kicker) {
    color: rgba(255, 253, 246, .84) !important;
}

.iv-app-cta.alignwide .iv-button-primary .wp-block-button__link,
.iv-app-cta.alignwide .iv-button-primary .wp-block-button__link:hover,
.iv-app-cta.alignwide .iv-button-primary .wp-block-button__link:focus-visible {
    background: #fffdf6 !important;
    color: #172018 !important;
    border-color: transparent !important;
}

.iv-app-cta.alignwide .iv-button-outline-dark .wp-block-button__link {
    border-color: rgba(255, 253, 246, .48) !important;
    background: transparent !important;
    color: #fffdf6 !important;
}

.iv-app-cta.alignwide .iv-button-outline-dark .wp-block-button__link:hover,
.iv-app-cta.alignwide .iv-button-outline-dark .wp-block-button__link:focus-visible {
    background: rgba(255, 253, 246, .12) !important;
    color: #fffdf6 !important;
}

.iv-app-handoff {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.25rem;
    align-items: center;
    width: min(100% - 2rem, 1040px);
    margin: 2rem auto;
    padding: 1.25rem;
    border: 1px solid rgba(32, 63, 42, .16);
    border-radius: 8px;
    background: #fffdf6;
    box-shadow: 0 18px 52px rgba(23, 32, 24, .08);
}

.iv-app-handoff__copy {
    display: grid;
    gap: .55rem;
}

.iv-app-handoff__copy h2,
.iv-app-handoff__copy p {
    margin: 0;
}

.iv-app-handoff__copy h2 {
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    line-height: 1.15;
}

.iv-app-handoff__copy p:not(.iv-kicker) {
    color: var(--iv-ink-muted);
}

.iv-app-handoff__copy .iv-button-primary {
    justify-self: start;
    margin-top: .25rem;
}

.iv-app-handoff__qr-link {
    display: inline-grid;
    place-items: center;
    padding: .45rem;
    border: 1px solid rgba(32, 63, 42, .14);
    border-radius: 8px;
    background: #fff;
}

.iv-app-handoff__qr {
    display: block;
    width: 148px;
    height: 148px;
}

@media (max-width: 680px) {
    .iv-app-handoff {
        grid-template-columns: 1fr;
        justify-items: start;
    }
}

/* Hero search guard: keep input and submit action on the same row at all widths. */
.iv-home > .iv-hero.alignwide .iv-search .wp-block-search__inside-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: .22rem;
    border-radius: 999px;
}

.iv-home > .iv-hero.alignwide .iv-search input[type="search"] {
    flex: 1 1 auto;
    min-width: 0;
}

.iv-home > .iv-hero.alignwide .iv-search .wp-block-search__button {
    flex: 0 0 auto;
    width: auto !important;
    margin: 0 !important;
    white-space: nowrap;
}

/* Mobile home guard: avoid cropped horizontal proposal cards. */
@media (max-width: 760px) {
    .iv-home .iv-ready-proposals__rail {
        display: grid !important;
        grid-auto-flow: row !important;
        grid-auto-columns: auto !important;
        grid-template-columns: 1fr !important;
        gap: 1.25rem;
        overflow: visible !important;
        padding: .15rem 0 0 !important;
        mask-image: none !important;
        scroll-snap-type: none !important;
        touch-action: auto;
    }

    .iv-home .iv-ready-proposal {
        width: 100%;
        scroll-snap-align: none;
    }
}
