/* =========================================================
   SHARED COMPONENTS
   Loaded on every page so the homepage, the tour pages and
   anywhere else render the *same* button and guarantee panel.
   The palette tokens live on :root here (not on .info-card)
   so these components work outside the homepage card too.
   ========================================================= */

:root {
    --rva-green: #14401f;
    --rva-green-dark: #0e2d16;
    --rva-green-mid: #1c5c2c;
    --rva-green-tint: #eaf3ec;
    --rva-amber: #f5c518;
    --rva-amber-dark: #e0b30f;
    --rva-ink: #0f172a;
    --rva-muted: #64748b;
    --rva-line: #e8eced;
}

/* --- The one button shape --- */
.rva-cta {
    align-items: center;
    border-radius: 14px;
    box-sizing: border-box;   /* the theme has no global border-box, so
                                 width:100% + padding would overflow */
    max-width: 100%;
    display: flex;
    gap: 8px;
    justify-content: center;
    min-height: 56px;
    padding: 9px 10px;
    text-decoration: none;
    transition: background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.rva-cta:hover { transform: translateY(-2px); }
.rva-cta:focus-visible { outline: 3px solid rgba(20, 64, 31, 0.35); outline-offset: 3px; }

.rva-cta-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; text-align: center; }
.rva-cta-title { font-size: 15.5px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.18; }
.rva-cta-sub { font-size: 13.5px; font-weight: 600; opacity: 0.85; }
.rva-cta-icon { flex-shrink: 0; height: 20px; width: 20px; }
.rva-cta-chevron { flex-shrink: 0; height: 18px; opacity: 0.9; width: 18px; }

@media (min-width: 420px) {
    .rva-cta { gap: 10px; padding: 10px 14px; min-height: 60px; }
    .rva-cta-title { font-size: 17px; }
    .rva-cta-sub { font-size: 14.5px; }
    .rva-cta-chevron { height: 20px; width: 20px; }
}
@media (min-width: 560px) {
    .rva-cta-icon { height: 26px; width: 26px; }
    .rva-cta-title { font-size: 18px; }
    .rva-cta-sub { font-size: 15px; }
    .rva-cta-chevron { height: 22px; width: 22px; }
}

.rva-cta-reserve {
    background-color: var(--rva-green);
    box-shadow: 0 6px 18px rgba(20, 64, 31, 0.22);
    color: #fff;
}
.rva-cta-reserve:hover { background-color: var(--rva-green-dark); box-shadow: 0 10px 24px rgba(20, 64, 31, 0.28); }

.rva-cta-book {
    background-color: var(--rva-amber);
    box-shadow: 0 6px 18px rgba(245, 197, 24, 0.35);
    color: #1a1a1a;
}
.rva-cta-book:hover { background-color: var(--rva-amber-dark); box-shadow: 0 10px 24px rgba(245, 197, 24, 0.42); }
.rva-cta-book .rva-cta-sub { opacity: 0.75; }


/* --- Money-back guarantee panel (identical everywhere, not a link) --- */
/* --- Guarantee --- */
.rva-guarantee-panel {
    align-items: center;
    background: var(--rva-green-tint);
    border: 1px solid #d6e7da;
    border-radius: 14px;
    display: flex;
    gap: 14px;
    margin-bottom: 10px;
    padding: 18px 18px;
}
.rva-guarantee-shield { color: var(--rva-green); flex-shrink: 0; height: 40px; width: 40px; }
.rva-guarantee-copy { display: flex; flex-direction: column; gap: 3px; }
.rva-guarantee-copy strong {
    color: var(--rva-green);
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.2;
}
.rva-guarantee-copy span { color: #3f6b4a; font-size: 15px; }

