:root{
    --hely-primary: #13afac;
    --hely-accent:  #c9feac;
    --cr7-shadow: 0 10px 22px rgba(0,0,0,.08);
}

.cr7-card .card-img { overflow: hidden; border-top-left-radius: .75rem; border-bottom-left-radius: .75rem; }
.cr7-card .card-img img { transition: transform .35s ease; }
.cr7-card:hover .card-img img { transform: scale(1.03); }

.cr7-online-dot{
    position:absolute; right:.75rem; bottom:.75rem;
    width:.75rem; height:.75rem; border-radius:50%;
    background:#28a745; outline:2px solid #fff; box-shadow:0 0 0 .25rem rgba(40,167,69,.25);
}

.cr7-chip{
    display:inline-flex; align-items:center; gap:.4rem;
    padding:.25rem .55rem; font-size:.85rem;
    border-radius:999px; background:rgba(19,175,172,.12); color:#137b78;
}
.cr7-chip i{ font-size:1rem; line-height:1; }
.cr7-chip-ghost{ background:rgba(0,0,0,.04); color:#555; }

.cr7-cta{
    border:0; color:#fff;
    background-image: linear-gradient(90deg, var(--hely-primary), var(--hely-accent));
    box-shadow: 0 6px 14px rgba(19,175,172,.25);
    transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
.cr7-cta:hover{ transform: translateY(-1px); box-shadow: 0 10px 22px rgba(19,175,172,.35); color:#fff; }
.cr7-cta:active{ transform: translateY(0); }

.cr7-cta-live{
    position: relative;
}
.cr7-cta-live::after{
    content:""; position:absolute; inset: -4px; border-radius:999px;
    background: radial-gradient(ellipse at center, rgba(201,254,172,.35), rgba(19,175,172,.0) 60%);
    animation: cr7-pulse 1.6s ease-out infinite;
    pointer-events:none;
}

@keyframes cr7-pulse{
    0%{ opacity:.55; transform: scale(1); }
    70%{ opacity:0; transform: scale(1.15); }
    100%{ opacity:0; transform: scale(1.2); }
}

/* menos movimento se o utilizador preferir */
@media (prefers-reduced-motion: reduce){
    .cr7-card:hover .card-img img,
    .cr7-cta, .cr7-cta:hover { transition: none; transform:none; }
    .cr7-cta-live::after{ animation:none; display:none; }
}

.cr7-verified-badge{
    position:absolute; left:.6rem; bottom:.6rem;
    display:inline-flex; align-items:center; gap:.25rem;
    padding:.3rem .55rem; border-radius:999px;
    font-size:.8rem; line-height:1; font-weight:600;
    background: rgba(13,110,253,.08); /* primary-subtle */
    color:#0d6efd; /* primary */
    backdrop-filter: blur(4px);
    z-index: 2;
}
@media (max-width: 575.98px){
    .cr7-verified-badge{ padding:.28rem .45rem; }
}


/* ===== CR7 Feature Tiles Booking Info ===== */
.cr7-feature {
    --accent: #13afac;             /* default fallback */
    --bg1: 255 255 255;            /* light base */
    --ink: 33 37 41;               /* text base */
    position: relative;
    border-radius: 18px;
    padding: 16px 16px 18px;
    background:
        radial-gradient(120% 140% at 0% 0%, rgba(var(--accent-rgb, 19 175 172)/.08) 0%, transparent 40%)
        ,linear-gradient(180deg, rgba(var(--bg1)/.9), rgba(var(--bg1)/.9));
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 6px 18px rgba(0,0,0,.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    overflow: hidden;
    backdrop-filter: saturate(1.05);
}
.cr7-feature:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 26px rgba(0,0,0,.10);
    border-color: rgba(var(--accent-rgb, 19 175 172)/.35);
}

/* brilho diagonal suave no hover */
.cr7-feature::after {
    content: "";
    position: absolute; inset: -60%;
    background: conic-gradient(from 200deg at 50% 50%,
    transparent 0turn, rgba(255,255,255,.5) .04turn, transparent .09turn);
    transform: rotate(8deg);
    opacity: 0; pointer-events: none;
    transition: opacity .25s ease;
}
.cr7-feature:hover::after { opacity: .45; }

/* header */
.cr7-feature__title {
    margin: 0 0 6px 0;
    font-size: .9rem;
    letter-spacing: .02em;
    font-weight: 700;
    color: rgb(var(--ink));
    display: flex; align-items: center; gap: .5rem;
}

/* icon bubble */
.cr7-feature__icon {
    --bubble: var(--accent, #13afac);
    width: 42px; height: 42px; border-radius: 12px;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(180deg, color-mix(in oklab, var(--bubble), #fff 18%), var(--bubble));
    color: #fff; margin-bottom: 10px;
    box-shadow: 0 6px 14px color-mix(in oklab, var(--bubble), #000 84% / 18%);
}
.cr7-feature__icon i {
    font-size: 1.05rem;
    color: white;
}

/* body */
.cr7-feature__text {
    color: rgba(var(--ink)/.74);
    line-height: 1.45;
}

/* variants */
.cr7-feature[data-variant="type"]   { --accent: #13afac; --accent-rgb: 19 175 172; }
.cr7-feature[data-variant="time"]   { --accent: #13afac; --accent-rgb: 111 66 193; }
.cr7-feature[data-variant="shield"] { --accent: #13afac; --accent-rgb: 13 110 253; }

/* dark mode friendly */
@media (prefers-color-scheme: dark) {
    .cr7-feature {
        --bg1: 22 24 28;
        --ink: 234 236 239;
        border-color: rgba(255,255,255,.06);
        box-shadow: 0 6px 18px rgba(0,0,0,.35);
        background:
            radial-gradient(120% 140% at 0% 0%, rgba(var(--accent-rgb, 19 175 172)/.12) 0%, transparent 42%)
            ,linear-gradient(180deg, rgba(var(--bg1)/.9), rgba(var(--bg1)/.9));
    }
    .cr7-feature__text { color: rgba(var(--ink)/.78); }
}

/* reduz animação caso o user prefira */
@media (prefers-reduced-motion: reduce) {
    .cr7-feature, .cr7-feature::after { transition: none; }
    .cr7-feature:hover { transform: none; }
}



/*MENU*/
@media (max-width: 991.98px) {
    .header .main-menu-wrapper {
        display: flex;
        flex-direction: column;
        height: 100vh;           /* ocupa o ecrã todo */
    }
    .header .main-menu-wrapper .menu-header {
        flex: 0 0 auto;
    }
    .header .main-menu-wrapper .main-nav {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        overflow-y: auto;        /* scroll se for longo */
        padding-bottom: 1rem;    /* respiro para o botão */
    }
    .header .main-menu-wrapper .main-nav .stick-bottom {
        margin-top: auto;        /* cola no fundo */
    }
}


