/*
 Theme Name:   Astra Child - MAMO Property
 Theme URI:    https://rent.mamoproperty.com
 Description:  Custom child theme for MAMO Property hotel apartment rentals
 Author:       MAMO Property
 Author URI:   https://rent.mamoproperty.com
 Template:     astra
 Version:      1.1.0
 License:      GNU General Public License v2 or later
 Text Domain:  astra-child
*/

/* ===== MAMO Property Design System ===== */
:root {
    --mamo-gold: #F5A623;
    --mamo-gold-hover: #e09510;
    --mamo-navy: #1B2A4A;
    --mamo-navy-95: rgba(27, 42, 74, 0.95);
    --mamo-white: #FFFFFF;
    --mamo-gray: #F7F7F7;
    --mamo-text: #2D2D2D;
    --mamo-whatsapp: #25D366;
}

/* ===== IMP 1: NAVIGATION LAYOUT ===== */

/* Sticky header on scroll */
.ast-primary-header-bar.ast-sticky-active,
.site-header .ast-sticky-active {
    background-color: var(--mamo-navy-95) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 2px 20px rgba(0,0,0,0.15);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

/* Header text color when stuck */
.ast-sticky-active .ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link,
.ast-sticky-active .site-branding .site-title a {
    color: var(--mamo-white) !important;
}

/* Ensure logo + nav alignment: logo left, nav right */
.ast-primary-header-bar .site-primary-header-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Navigation links styling */
.ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link {
    font-weight: 500;
    font-size: 15px;
    letter-spacing: 0.3px;
    transition: color 0.2s ease;
}

.ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link:hover {
    color: var(--mamo-gold) !important;
}

/* "Book Now" CTA Button in Header */
.mamo-header-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--mamo-gold);
    color: var(--mamo-white) !important;
    padding: 10px 22px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(245, 166, 35, 0.3);
    white-space: nowrap;
}

.mamo-header-cta:hover {
    background: var(--mamo-gold-hover);
    color: var(--mamo-white) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(245, 166, 35, 0.4);
}

/* ===== IMP 2: HERO SECTION ENHANCEMENTS ===== */

/* Trust badges bar below search */
.mamo-trust-badges {
    display: flex;
    justify-content: center;
    gap: 32px;
    padding: 16px 20px;
    background: rgba(255,255,255,0.1);
    backdrop-filter: blur(6px);
    border-radius: 12px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.mamo-trust-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}

.mamo-trust-badge .badge-icon {
    font-size: 18px;
}

/* Urgency banner */
.mamo-urgency {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(220, 53, 69, 0.15);
    border: 1px solid rgba(220, 53, 69, 0.3);
    color: #fff;
    padding: 8px 18px;
    border-radius: 24px;
    font-size: 13px;
    font-weight: 600;
    margin-top: 12px;
    animation: pulse-urgency 2s ease-in-out infinite;
}

@keyframes pulse-urgency {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.8; }
}

/* ===== SEARCH FORM STYLING ===== */
.mphb_sc_search-wrapper {
    background: rgba(255,255,255,0.12);
    backdrop-filter: blur(8px);
    border-radius: 16px;
    padding: 24px;
    border: 1px solid rgba(255,255,255,0.2);
}

.mphb_sc_search-wrapper label {
    color: #fff;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.mphb_sc_search-wrapper input[type="text"],
.mphb_sc_search-wrapper select {
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.3);
    padding: 10px 14px;
    font-size: 15px;
    background: rgba(255,255,255,0.9);
}

.mphb_sc_search-wrapper .button,
.mphb_sc_search-wrapper input[type="submit"] {
    background: var(--mamo-gold) !important;
    color: var(--mamo-white) !important;
    border: none;
    border-radius: 8px;
    padding: 12px 28px;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 10px rgba(245, 166, 35, 0.3);
}

.mphb_sc_search-wrapper .button:hover,
.mphb_sc_search-wrapper input[type="submit"]:hover {
    background: var(--mamo-gold-hover) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(245, 166, 35, 0.4);
}

/* ===== IMP 6: SMART WHATSAPP BUTTON ===== */
/* Only show when scrolled past booking widget */
.mamo-whatsapp-sticky {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9990;
    display: none; /* JS will show/hide based on scroll */
}

.mamo-whatsapp-sticky a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--mamo-whatsapp);
    color: #fff !important;
    padding: 12px 20px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.4);
    transition: all 0.3s ease;
}

.mamo-whatsapp-sticky a:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.5);
}

/* ===== STICKY MOBILE BOOKING BAR ===== */
@media (max-width: 768px) {
    .mphb-single-room-type .mphb-room-reservation {
        position: fixed !important;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 9999;
        background: #fff;
        padding: 12px 16px;
        box-shadow: 0 -4px 12px rgba(0,0,0,0.15);
        border-top: 2px solid var(--mamo-gold);
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }
    .mphb-single-room-type .mphb-room-reservation .mphb-reserve-btn-wrapper {
        flex-shrink: 0;
    }
    .mphb-single-room-type .mphb-room-reservation .mphb-reserve-room-btn {
        padding: 12px 24px;
        font-size: 16px;
        font-weight: 700;
        border-radius: 8px;
        white-space: nowrap;
        background: var(--mamo-gold);
    }
    body.single-mphb_room_type {
        padding-bottom: 80px;
    }

    /* Trust badges stack on mobile */
    .mamo-trust-badges {
        flex-direction: column;
        gap: 12px;
        align-items: center;
    }

    /* Hide desktop CTA on mobile */
    .mamo-header-cta {
        display: none;
    }
}

/* ===== GLOBAL TYPOGRAPHY ===== */
body {
    font-size: 16px;
    line-height: 1.6;
}

/* ===== ACCOMMODATION CARDS ===== */
.mphb-room-type-image img {
    border-radius: 12px;
    transition: transform 0.3s ease;
}

.mphb-room-type-image:hover img {
    transform: scale(1.03);
}

/* Booking button gold style */
.mphb-reserve-room-btn,
.mphb-book-button,
.mphb_sc_search-submit-button-wrapper .button {
    background: var(--mamo-gold) !important;
    color: #fff !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    transition: all 0.3s ease !important;
}

.mphb-reserve-room-btn:hover,
.mphb-book-button:hover {
    background: var(--mamo-gold-hover) !important;
    transform: translateY(-1px);
}

/* ===== FAQ STYLING ===== */
details {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 8px;
    transition: all 0.2s ease;
}

details:hover {
    border-color: var(--mamo-gold);
}

details[open] {
    border-color: var(--mamo-gold);
    background: #fffbf2;
}

details summary {
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}

details summary::-webkit-details-marker {
    display: none;
}

details summary::before {
    content: '▸ ';
    color: var(--mamo-gold);
    font-weight: 700;
    transition: transform 0.2s;
}

details[open] summary::before {
    content: '▾ ';
}



/* ================================================================
   IMP 3: SEARCH RESULTS PAGE — Card Grid Layout
   ================================================================ */

/* Results grid: 2 cards per row on desktop */
.mphb_sc_search_results-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}

/* Individual accommodation card */
.mphb-room-type {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 16px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    border: 1px solid #f0f0f0;
}

.mphb-room-type:hover {
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
    transform: translateY(-4px);
}

/* Card image */
.mphb-room-type .mphb-room-type-image {
    position: relative;
    overflow: hidden;
    height: 220px;
}

.mphb-room-type .mphb-room-type-image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: transform 0.4s ease;
    border-radius: 0;
}

.mphb-room-type:hover .mphb-room-type-image img {
    transform: scale(1.05);
}

/* Card content area */
.mphb-room-type .mphb-room-type-content {
    padding: 20px;
}

/* Card title */
.mphb-room-type .mphb-room-type-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--mamo-navy);
    margin-bottom: 8px;
    line-height: 1.3;
}

.mphb-room-type .mphb-room-type-title a {
    color: var(--mamo-navy);
    text-decoration: none;
}

.mphb-room-type .mphb-room-type-title a:hover {
    color: var(--mamo-gold);
}

/* Card price */
.mphb-room-type .mphb-room-type-price {
    font-size: 20px;
    font-weight: 800;
    color: var(--mamo-gold);
    margin: 12px 0;
}

.mphb-room-type .mphb-room-type-price .mphb-price {
    color: var(--mamo-gold);
}

/* Card CTA buttons */
.mphb-room-type .mphb-room-type-book-button-wrapper {
    margin-top: 16px;
}

.mphb-room-type .mphb-reserve-room-btn,
.mphb-room-type .mphb-view-details-button {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
}

/* Hide sliders/carousels on search results — show static thumbnails */
.mphb-room-type .mphb-flexslider-wrapper .mphb-flexslider-nav {
    display: none;
}

/* Mobile: single column */
@media (max-width: 768px) {
    .mphb_sc_search_results-wrapper {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* ================================================================
   IMP 4: ACCOMMODATION DETAIL PAGE — Restructured Layout
   ================================================================ */

/* Two-column layout for single accommodation */


/* Booking widget sidebar — sticky */
.single-mphb_room_type .mphb-room-reservation {
    position: sticky;
    top: 100px;
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    border: 1px solid #f0f0f0;
}

/* Price styling in booking widget */
.single-mphb_room_type .mphb-room-reservation .mphb-price-wrapper,
.single-mphb_room_type .mphb-regular-price {
    font-size: 28px;
    font-weight: 800;
    color: var(--mamo-navy);
    margin-bottom: 16px;
}

/* Check availability button in booking widget */
.single-mphb_room_type .mphb-reserve-room-btn {
    width: 100%;
    padding: 14px 24px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 10px;
    background: var(--mamo-gold) !important;
    color: #fff !important;
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.single-mphb_room_type .mphb-reserve-room-btn:hover {
    background: var(--mamo-gold-hover) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(245, 166, 35, 0.4);
}

/* Gallery images on detail page */
.single-mphb_room_type .mphb-single-room-type-gallery img,
.single-mphb_room_type .mphb-room-type-images img {
    border-radius: 12px;
    cursor: pointer;
}

/* Availability calendar styling */
.single-mphb_room_type .datepick {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}

/* Guest reviews section */
.mamo-reviews-section {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 2px solid #f0f0f0;
}

/* Section headings on detail page */
.single-mphb_room_type h3 {
    color: var(--mamo-navy);
    font-size: 22px;
    font-weight: 700;
    margin: 28px 0 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--mamo-gold);
    display: inline-block;
}

/* Amenity badges */
.single-mphb_room_type ul li {
    padding: 4px 0;
    line-height: 1.6;
}

/* Mobile: stack to single column */
@media (max-width: 921px) {
    
    
    .single-mphb_room_type .mphb-room-reservation {
        position: fixed !important;
        bottom: 0;
        left: 0;
        right: 0;
        top: auto;
        z-index: 9999;
        border-radius: 16px 16px 0 0;
        padding: 16px 20px;
        box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
        border-top: 3px solid var(--mamo-gold);
    }
    
    body.single-mphb_room_type {
        padding-bottom: 100px;
    }
}

/* ================================================================
   IMP 5: CHECKOUT PAGE — Two-Column Premium Layout
   ================================================================ */

/* Progress indicator at top */
.mamo-checkout-progress {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 20px 0 32px;
    font-size: 14px;
    font-weight: 600;
}

.mamo-checkout-progress .step {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #999;
}

.mamo-checkout-progress .step.active {
    color: var(--mamo-gold);
}

.mamo-checkout-progress .step.completed {
    color: var(--mamo-navy);
}

.mamo-checkout-progress .separator {
    width: 40px;
    height: 2px;
    background: #ddd;
}

.mamo-checkout-progress .step.completed + .separator,
.mamo-checkout-progress .step.active + .separator {
    background: var(--mamo-gold);
}

/* Checkout form styling */
.mphb-checkout-form {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 32px;
    align-items: start;
}

.mphb-checkout-form .mphb-checkout-section {
    background: #fff;
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.06);
    border: 1px solid #f0f0f0;
}

/* Form inputs styling */
.mphb-checkout-form input[type="text"],
.mphb-checkout-form input[type="email"],
.mphb-checkout-form input[type="tel"],
.mphb-checkout-form select,
.mphb-checkout-form textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    font-size: 15px;
    transition: border-color 0.2s ease;
    background: #fafafa;
}

.mphb-checkout-form input:focus,
.mphb-checkout-form select:focus,
.mphb-checkout-form textarea:focus {
    border-color: var(--mamo-gold);
    outline: none;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(245, 166, 35, 0.1);
}

/* Form labels */
.mphb-checkout-form label {
    display: block;
    font-weight: 600;
    font-size: 14px;
    color: var(--mamo-navy);
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Booking summary card (right column) */
.mphb-checkout-form .mphb-booking-details {
    position: sticky;
    top: 100px;
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    border: 1px solid #f0f0f0;
}

/* Price total */
.mphb-checkout-form .mphb-price-total {
    font-size: 24px;
    font-weight: 800;
    color: var(--mamo-navy);
    padding: 16px 0;
    border-top: 2px solid #f0f0f0;
    margin-top: 16px;
}

/* Confirm booking button */
.mphb-checkout-form input[type="submit"],
.mphb-checkout-form .mphb-confirm-booking-btn,
.mphb-checkout-form button[type="submit"] {
    width: 100%;
    padding: 16px 32px;
    background: var(--mamo-gold) !important;
    color: #fff !important;
    border: none;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(245, 166, 35, 0.3);
    margin-top: 20px;
}

.mphb-checkout-form input[type="submit"]:hover,
.mphb-checkout-form button[type="submit"]:hover {
    background: var(--mamo-gold-hover) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(245, 166, 35, 0.4);
}

/* Mobile checkout: single column */
@media (max-width: 768px) {
    .mphb-checkout-form {
        grid-template-columns: 1fr;
    }
    
    .mphb-checkout-form .mphb-booking-details {
        position: static;
        order: -1; /* Show summary first on mobile */
    }
}

/* ================================================================
   IMP 6: SMART WHATSAPP BUTTON — Show only past booking widget  
   ================================================================ */

/* Override existing WhatsApp if present */
.joinchat,
.wa-chat-box-content-send-btn-wrap,
[class*="whatsapp-float"] {
    /* Let our custom one take over */
}

/* Custom WhatsApp — hidden by default, shown via JS */
.mamo-whatsapp-smart {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 9990;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.4s ease;
}

.mamo-whatsapp-smart.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.mamo-whatsapp-smart a {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--mamo-whatsapp);
    color: #fff !important;
    padding: 14px 24px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none !important;
    box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4);
    transition: all 0.3s ease;
}

.mamo-whatsapp-smart a:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 25px rgba(37, 211, 102, 0.5);
}

@media (max-width: 768px) {
    .mamo-whatsapp-smart a span.wa-text {
        display: none; /* Icon only on mobile */
    }
    .mamo-whatsapp-smart a {
        padding: 14px;
        border-radius: 50%;
    }
}

/* ================================================================
   FIX: Correct selectors for MPHB search results grid
   ================================================================ */

/* The search results wrapper uses this EXACT class */
.mphb_sc_search_results-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 28px !important;
}

/* Each search result item */
.mphb_sc_search_results-wrapper > .mphb-room-type {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 16px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    border: 1px solid #f0f0f0;
    padding: 0;
}

.mphb_sc_search_results-wrapper > .mphb-room-type:hover {
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
    transform: translateY(-4px);
}

/* Image in search result card */
.mphb_sc_search_results-wrapper .mphb-room-type-image {
    height: 220px;
    overflow: hidden;
}

.mphb_sc_search_results-wrapper .mphb-room-type-image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.mphb_sc_search_results-wrapper .mphb-room-type:hover .mphb-room-type-image img {
    transform: scale(1.05);
}

/* Content area of search card */
.mphb_sc_search_results-wrapper .mphb-room-type .entry-content,
.mphb_sc_search_results-wrapper .mphb-room-type > div:not(.mphb-room-type-image) {
    padding: 20px;
}

/* Title in search card */
.mphb_sc_search_results-wrapper .mphb-room-type-title {
    font-size: 18px !important;
    font-weight: 700;
    color: var(--mamo-navy);
    margin-bottom: 8px;
    line-height: 1.3;
}

/* Price in search card */
.mphb_sc_search_results-wrapper .mphb-price {
    font-size: 20px;
    font-weight: 800;
    color: var(--mamo-gold);
}

/* Calendar/datepicker inside search results */
.mphb_sc_search_results-wrapper .mphb-calendar {
    display: none; /* hide inline calendar in grid view */
}

/* Recommendation popup box */
.mphb_sc_search_results-wrapper .mphb-recommendation-item {
    margin: 8px 0;
}

/* Mobile: single column */
@media (max-width: 768px) {
    .mphb_sc_search_results-wrapper {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
}

/* ================================================================
   FIX: Single accommodation page layout
   ================================================================ */

/* For single mphb_room_type pages, the content has class entry-content */
body.single-mphb_room_type .site-content .ast-container {
    max-width: 1200px;
}

/* The reservation details sidebar */
body.single-mphb_room_type .mphb-reservation-details {
    position: sticky;
    top: 100px;
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    border: 1px solid #f0f0f0;
}

/* Make the booking form look like a sidebar card */
body.single-mphb_room_type .mphb-room-reservation {
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    border: 1px solid #f0f0f0;
    margin-top: 24px;
}

@media (max-width: 921px) {
    body.single-mphb_room_type .mphb-room-reservation {
        position: relative !important;
        margin-top: 16px;
    }
}


/* PHASE 4: TRUST & CONVERSION */

.mamo-social-proof{background:var(--mamo-navy);color:#fff;padding:8px 0;font-size:13px;font-weight:500;overflow:hidden}
.mamo-social-proof-inner{display:flex;align-items:center;justify-content:center;gap:32px;animation:proofScroll 20s linear infinite;white-space:nowrap}
.mamo-social-proof-item{display:inline-flex;align-items:center;gap:6px}
@keyframes proofScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

.mamo-guarantees{display:flex;justify-content:center;gap:40px;padding:32px 20px;background:#fafbfc;border-bottom:1px solid #f0f0f0;flex-wrap:wrap}
.mamo-guarantee{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--mamo-navy)}
.mamo-guarantee .g-icon{width:48px;height:48px;background:rgba(245,166,35,0.1);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.mamo-guarantee .g-text strong{display:block;font-size:15px;font-weight:700}
.mamo-guarantee .g-text span{font-size:12px;color:#777}

.mamo-urgency{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;text-align:center;padding:10px 20px;font-size:14px;font-weight:700}
.mamo-urgency .urgency-dot{display:inline-block;width:8px;height:8px;background:#fff;border-radius:50%;margin-right:8px;animation:urgencyPulse 1.5s ease-in-out infinite}
@keyframes urgencyPulse{0%,100%{opacity:0.4}50%{opacity:1}}

.mamo-faq-section{max-width:800px;margin:48px auto;padding:0 20px}
.mamo-faq-section h2{text-align:center;color:var(--mamo-navy);font-size:28px;font-weight:800;margin-bottom:8px}
.mamo-faq-section .faq-subtitle{text-align:center;color:#777;font-size:15px;margin-bottom:32px}
.mamo-faq-item{background:#fff;border:1px solid #f0f0f0;border-radius:12px;margin-bottom:12px;overflow:hidden;transition:all 0.3s ease}
.mamo-faq-item:hover{border-color:var(--mamo-gold)}
.mamo-faq-item summary{padding:16px 20px;font-weight:600;font-size:15px;color:var(--mamo-navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.mamo-faq-item summary::after{content:'+';font-size:20px;font-weight:300;color:var(--mamo-gold);transition:transform 0.3s ease}
.mamo-faq-item[open] summary::after{content:'\2212'}
.mamo-faq-item .faq-answer{padding:0 20px 16px;font-size:14px;line-height:1.7;color:#555}

.mamo-mobile-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9998;background:#fff;padding:12px 16px;box-shadow:0 -4px 20px rgba(0,0,0,0.1);border-top:2px solid var(--mamo-gold)}
.mamo-mobile-cta-inner{display:flex;gap:10px;align-items:center;max-width:480px;margin:0 auto}
.mamo-mobile-cta .price-hint{font-size:12px;color:#777;line-height:1.3}
.mamo-mobile-cta .price-hint strong{display:block;font-size:18px;color:var(--mamo-navy);font-weight:800}
.mamo-mobile-cta .cta-book{flex:1;background:var(--mamo-gold);color:#fff;padding:12px 20px;border-radius:10px;font-weight:700;font-size:15px;text-align:center;text-decoration:none;transition:all 0.3s ease}
.mamo-mobile-cta .cta-book:hover{background:var(--mamo-gold-hover)}
@media(max-width:768px){.mamo-mobile-cta{display:block}.mamo-whatsapp-smart{bottom:80px}body{padding-bottom:70px}}

.mamo-testimonials{background:#fafbfc;padding:48px 20px}
.mamo-testimonials h2{text-align:center;color:var(--mamo-navy);font-size:28px;font-weight:800;margin-bottom:32px}
.mamo-testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:0 auto}
.mamo-testimonial-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 12px rgba(0,0,0,0.06);border:1px solid #f0f0f0}
.mamo-testimonial-card .stars{color:var(--mamo-gold);font-size:16px;margin-bottom:12px}
.mamo-testimonial-card .review-text{font-size:14px;line-height:1.7;color:#555;margin-bottom:16px;font-style:italic}
.mamo-testimonial-card .reviewer{display:flex;align-items:center;gap:10px}
.mamo-testimonial-card .reviewer-avatar{width:40px;height:40px;border-radius:50%;background:var(--mamo-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}
.mamo-testimonial-card .reviewer-name{font-weight:600;font-size:14px;color:var(--mamo-navy)}
.mamo-testimonial-card .reviewer-source{font-size:12px;color:#999}
@media(max-width:768px){.mamo-testimonials-grid{grid-template-columns:1fr}.mamo-guarantees{gap:20px}}

/* PHASE 4: TRUST & CONVERSION */

.mamo-social-proof{background:var(--mamo-navy);color:#fff;padding:8px 0;font-size:13px;font-weight:500;overflow:hidden}
.mamo-social-proof-inner{display:flex;align-items:center;justify-content:center;gap:32px;animation:proofScroll 20s linear infinite;white-space:nowrap}
.mamo-social-proof-item{display:inline-flex;align-items:center;gap:6px}
@keyframes proofScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

.mamo-guarantees{display:flex;justify-content:center;gap:40px;padding:32px 20px;background:#fafbfc;border-bottom:1px solid #f0f0f0;flex-wrap:wrap}
.mamo-guarantee{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--mamo-navy)}
.mamo-guarantee .g-icon{width:48px;height:48px;background:rgba(245,166,35,0.1);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.mamo-guarantee .g-text strong{display:block;font-size:15px;font-weight:700}
.mamo-guarantee .g-text span{font-size:12px;color:#777}

.mamo-urgency{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;text-align:center;padding:10px 20px;font-size:14px;font-weight:700}
.mamo-urgency .urgency-dot{display:inline-block;width:8px;height:8px;background:#fff;border-radius:50%;margin-right:8px;animation:urgencyPulse 1.5s ease-in-out infinite}
@keyframes urgencyPulse{0%,100%{opacity:0.4}50%{opacity:1}}

.mamo-faq-section{max-width:800px;margin:48px auto;padding:0 20px}
.mamo-faq-section h2{text-align:center;color:var(--mamo-navy);font-size:28px;font-weight:800;margin-bottom:8px}
.mamo-faq-section .faq-subtitle{text-align:center;color:#777;font-size:15px;margin-bottom:32px}
.mamo-faq-item{background:#fff;border:1px solid #f0f0f0;border-radius:12px;margin-bottom:12px;overflow:hidden;transition:all 0.3s ease}
.mamo-faq-item:hover{border-color:var(--mamo-gold)}
.mamo-faq-item summary{padding:16px 20px;font-weight:600;font-size:15px;color:var(--mamo-navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.mamo-faq-item summary::after{content:'+';font-size:20px;font-weight:300;color:var(--mamo-gold);transition:transform 0.3s ease}
.mamo-faq-item[open] summary::after{content:'\2212'}
.mamo-faq-item .faq-answer{padding:0 20px 16px;font-size:14px;line-height:1.7;color:#555}

.mamo-mobile-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9998;background:#fff;padding:12px 16px;box-shadow:0 -4px 20px rgba(0,0,0,0.1);border-top:2px solid var(--mamo-gold)}
.mamo-mobile-cta-inner{display:flex;gap:10px;align-items:center;max-width:480px;margin:0 auto}
.mamo-mobile-cta .price-hint{font-size:12px;color:#777;line-height:1.3}
.mamo-mobile-cta .price-hint strong{display:block;font-size:18px;color:var(--mamo-navy);font-weight:800}
.mamo-mobile-cta .cta-book{flex:1;background:var(--mamo-gold);color:#fff;padding:12px 20px;border-radius:10px;font-weight:700;font-size:15px;text-align:center;text-decoration:none;transition:all 0.3s ease}
.mamo-mobile-cta .cta-book:hover{background:var(--mamo-gold-hover)}
@media(max-width:768px){.mamo-mobile-cta{display:block}.mamo-whatsapp-smart{bottom:80px}body{padding-bottom:70px}}

.mamo-testimonials{background:#fafbfc;padding:48px 20px}
.mamo-testimonials h2{text-align:center;color:var(--mamo-navy);font-size:28px;font-weight:800;margin-bottom:32px}
.mamo-testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:0 auto}
.mamo-testimonial-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 12px rgba(0,0,0,0.06);border:1px solid #f0f0f0}
.mamo-testimonial-card .stars{color:var(--mamo-gold);font-size:16px;margin-bottom:12px}
.mamo-testimonial-card .review-text{font-size:14px;line-height:1.7;color:#555;margin-bottom:16px;font-style:italic}
.mamo-testimonial-card .reviewer{display:flex;align-items:center;gap:10px}
.mamo-testimonial-card .reviewer-avatar{width:40px;height:40px;border-radius:50%;background:var(--mamo-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}
.mamo-testimonial-card .reviewer-name{font-weight:600;font-size:14px;color:var(--mamo-navy)}
.mamo-testimonial-card .reviewer-source{font-size:12px;color:#999}
@media(max-width:768px){.mamo-testimonials-grid{grid-template-columns:1fr}.mamo-guarantees{gap:20px}}


/* ================================================================
   FIX: Social Proof Ticker — force single-line horizontal scroll
   ================================================================ */
.mamo-social-proof {
    background: var(--mamo-navy) !important;
    color: #fff !important;
    padding: 10px 0 !important;
    font-size: 13px !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
    z-index: 99999 !important;
}

.mamo-social-proof-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 40px !important;
    white-space: nowrap !important;
    animation: proofScroll 25s linear infinite !important;
    width: max-content !important;
}

.mamo-social-proof-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}

@keyframes proofScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ================================================================
   FIX: Guarantee Badges — BELOW hero, not overlapping
   ================================================================ */
.mamo-guarantees {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 32px !important;
    padding: 32px 20px !important;
    background: #fafbfc !important;
    border-bottom: 1px solid #eee !important;
    position: relative !important;
    z-index: 1 !important;
    clear: both !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.mamo-guarantee {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    flex-shrink: 0 !important;
}

.mamo-guarantee .g-icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    background: rgba(245, 166, 35, 0.1) !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 22px !important;
}

.mamo-guarantee .g-text {
    text-align: left !important;
}

.mamo-guarantee .g-text strong {
    display: block !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--mamo-navy) !important;
}

.mamo-guarantee .g-text span {
    font-size: 12px !important;
    color: #777 !important;
}

@media (max-width: 768px) {
    .mamo-guarantees {
        flex-direction: column !important;
        align-items: center !important;
        gap: 16px !important;
        padding: 24px 16px !important;
    }
    .mamo-social-proof-inner {
        gap: 24px !important;
    }
}

/* ================================================================
   FIX: Testimonials grid — ensure horizontal cards
   ================================================================ */
.mamo-testimonials-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
}

@media (max-width: 768px) {
    .mamo-testimonials-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ================================================================
   FIX: FAQ items — styled accordion look
   ================================================================ */
.mamo-faq-item {
    background: #fff !important;
    border: 1px solid #f0f0f0 !important;
    border-radius: 12px !important;
    margin-bottom: 12px !important;
}

.mamo-faq-item summary {
    padding: 16px 20px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    list-style: none !important;
}

.mamo-faq-item summary::-webkit-details-marker {
    display: none !important;
}

.mamo-faq-item .faq-answer {
    padding: 0 20px 16px !important;
    color: #555 !important;
    line-height: 1.7 !important;
}

/* ===== FIX 1: Hide blog metadata (author/date) on accommodation listings ===== */
.single-mphb_room_type .entry-meta,
.single-accommodation .entry-meta,
.single-mphb_room_type .posted-on,
.single-mphb_room_type .byline,
.single-accommodation .posted-on,
.single-accommodation .byline {
    display: none !important;
}


/* MAMO Offer Box - moved from inline styles */
.mamo-offer-box {
    max-width: 760px;
    margin: 34px auto;
    padding: 24px;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    background: #f9f9f9;
}
