/* ═══════════════════════════════════════════════════════
   CretaHub UI Enhancements — cue.css
   Design direction: Aegean Precision
   Tone: premium, calm, Mediterranean warmth
   Motion: 2 techniques only — scroll reveal + hover lift
   ═══════════════════════════════════════════════════════ */

/* ── Global ─────────────────────────────────────────── */
html {
    scroll-behavior: smooth;
}

/* ── Scroll reveal system ────────────────────────────── */
/* Applied via JS Intersection Observer */
.cue-reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.55s ease, transform 0.55s ease;
}
.cue-reveal.cue-visible {
    opacity: 1;
    transform: translateY(0);
}
/* Stagger delays for sibling items */
.cue-reveal:nth-child(2) { transition-delay: 0.08s; }
.cue-reveal:nth-child(3) { transition-delay: 0.16s; }
.cue-reveal:nth-child(4) { transition-delay: 0.24s; }
.cue-reveal:nth-child(5) { transition-delay: 0.32s; }

/* ── Listing Cards — booking-item ────────────────────── */
li.booking-item,
.booking-item {
    transition: transform 0.22s ease, box-shadow 0.22s ease;
    border-radius: 6px;
    will-change: transform;
}
li.booking-item:hover,
.booking-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.10) !important;
}

/* Image zoom on card hover */
.booking-item-img-wrap {
    overflow: hidden;
    border-radius: 4px 4px 0 0;
}
.booking-item-img-wrap img,
.booking-item-img-wrap a img {
    transition: transform 0.38s ease;
    display: block;
    width: 100%;
}
li.booking-item:hover .booking-item-img-wrap img,
.booking-item:hover .booking-item-img-wrap img {
    transform: scale(1.04);
}

/* ── Featured / Grid cards (homepage enhancer cards) ─── */
.che-feat-card {
    transition: transform 0.22s ease, box-shadow 0.22s ease !important;
}
.che-feat-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 32px rgba(0,0,0,0.11) !important;
}
.che-feat-card .che-feat-img {
    transition: transform 0.38s ease;
}
.che-feat-card:hover .che-feat-img {
    transform: scale(1.04);
}

/* ── Buttons ─────────────────────────────────────────── */
.btn.btn-primary,
.btn_book,
.btn-st-add-cart,
.btn-st-checkout-submit,
.add_to_cart_button,
button[type="submit"].btn {
    transition: transform 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease !important;
    will-change: transform;
}
.btn.btn-primary:hover,
.btn_book:hover,
.btn-st-add-cart:hover,
.btn-st-checkout-submit:hover,
.add_to_cart_button:hover,
button[type="submit"].btn:hover {
    transform: translateY(-2px) scale(1.02) !important;
    filter: brightness(1.06);
    box-shadow: 0 5px 14px rgba(0,0,0,0.14) !important;
}
.btn.btn-primary:active,
.btn_book:active {
    transform: translateY(0) scale(0.99) !important;
    filter: brightness(0.97);
    transition-duration: 0.08s !important;
}

/* ── WooCommerce checkout submit — make it stand out ─── */
#place_order,
.btn-st-checkout-submit {
    position: relative;
    overflow: hidden;
}
#place_order::after,
.btn-st-checkout-submit::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0);
    transition: background 0.18s ease;
}
#place_order:hover::after,
.btn-st-checkout-submit:hover::after {
    background: rgba(255,255,255,0.08);
}

/* ── Search form submit ──────────────────────────────── */
.btn-do-search,
.btn-search,
input[type="submit"].btn {
    transition: transform 0.18s ease, filter 0.18s ease !important;
}
.btn-do-search:hover,
.btn-search:hover,
input[type="submit"].btn:hover {
    transform: translateY(-2px) !important;
    filter: brightness(1.07);
}

/* ── Section headings — subtle entrance ─────────────── */
.section-title,
.st-title,
.widget-title,
h2.title,
.st_heading {
    transition: color 0.2s ease;
}

/* ── Navigation links ────────────────────────────────── */
.menu-header-nav > li > a,
#main-nav > li > a {
    transition: color 0.18s ease !important;
}

/* ── Wishlist / action icon buttons ─────────────────── */
.add-item-to-wishlist,
.st-wishlist-btn {
    transition: transform 0.2s ease, color 0.2s ease !important;
}
.add-item-to-wishlist:hover,
.st-wishlist-btn:hover {
    transform: scale(1.18) !important;
}

/* ── Star ratings ────────────────────────────────────── */
.booking-item-rating-stars .fa-star {
    transition: transform 0.15s ease;
}
.booking-item:hover .booking-item-rating-stars .fa-star {
    transform: scale(1.1);
}

/* ── Price display ───────────────────────────────────── */
.price-main,
.st-price,
.booking-item .price {
    transition: color 0.2s ease;
}

/* ── Mobile — reduce motion intensity ───────────────── */
@media (max-width: 768px) {
    li.booking-item:hover,
    .booking-item:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(0,0,0,0.08) !important;
    }
    .btn.btn-primary:hover,
    .btn_book:hover {
        transform: translateY(-1px) scale(1.01) !important;
    }
    li.booking-item:hover .booking-item-img-wrap img {
        transform: scale(1.02);
    }
}

/* ── Respect reduced-motion preference ──────────────── */
@media (prefers-reduced-motion: reduce) {
    .cue-reveal,
    li.booking-item,
    .booking-item,
    .booking-item-img-wrap img,
    .btn.btn-primary,
    .btn_book,
    .che-feat-card {
        transition: none !important;
        animation: none !important;
        transform: none !important;
    }
    .cue-reveal {
        opacity: 1;
    }
}
