/* === Membership & Enquiry Section === */

/* General Layout */
.membership_enquiry_section { 
    width: 100%; 
    padding: 0; 
    background: var(--white); 
}

.membership_enquiry_grid { 
    display: grid; 
    grid-template-columns: 1fr; 
    gap: 0; 
}

.membership_card_wrapper { 
    position: relative; 
    width: 100%; 
    overflow: hidden; 
    margin: 0 auto;
}

/* Flip Card Base */
.flip_card { 
    position: relative; 
    width: 100%;
    min-height: clamp(380px, 46vw, 640px); 
    perspective: 1200px; 
}

.flip_inner { 
    position: absolute;
    inset: 0; 
    transform-style: preserve-3d; 
    transition: transform 0.6s cubic-bezier(.25,.6,.25,1); 
    transform: rotateY(var(--flip-rot, 0deg)); 
    will-change: transform; 
}

.flip_face { 
    position: absolute; 
    inset: 0; 
    backface-visibility: hidden; 
    transform-style: preserve-3d; 
}

.flip_membership, .flip_contacts, .flip_newsletter, .flip_faqs { transform: rotateY(0deg); }

/* Mini Menu */
.flip_tabs { 
    position: absolute; 
    top: clamp(.6rem, 2vw, 1rem); 
    left: 50%; 
    transform: translateX(-50%); 
    display: inline-flex; 
    align-items: center; 
    gap: .5rem; 
    z-index: 3; 
}

.flip_tabs .flip_toggle_btn { 
    background: rgba(255,255,255,.12); 
    color: #fff; border: 1px solid rgba(255,255,255,.35); 
    padding: .65rem 1rem; 
    border-radius: 999px; 
    font-weight: 700; 
    cursor: pointer; 
}

.flip_tabs .flip_toggle_btn:hover { 
    background: var(--primary-color); 
    border-color: var(--primary-color); 
}

.flip_tabs .flip_toggle_btn.active { 
    background: var(--primary-color); 
    border-color: var(--primary-color); 
    color: #fff; 
    pointer-events: none; 
}

/* Background + Overlay */
.flip_bg { 
    position: absolute; 
    inset: 0; 
    z-index: 0; 
}

.flip_bg img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    display: block; 
}

.flip_overlay { 
    position: absolute; 
    inset: 0; 
    background: linear-gradient(180deg, rgba(0,0,0,.35) 0, rgba(0,0,0,.25) 50%, rgba(0,0,0,.35) 100%); 
    z-index: 1; 
}

/* Membership Flip Card Content */
.flip_content { 
    position: relative; 
    z-index: 2;
    display: grid; 
    align-content: center; 
    justify-items: center; 
    text-align: center; 
    gap: 1rem; 
    padding: clamp(1rem, 3vw, 2rem); 
    color: #fff; 
    min-height: clamp(380px, 46vw, 640px); 
}

.flip_membership_header { 
    display: grid; 
    gap: .5rem; 
    max-width: 840px; 
}

.flip_eyebrow { 
    font-size: .8rem; 
    letter-spacing: .2em; 
    text-transform: uppercase; 
    opacity: .9; 
}

.flip_title { 
    font-size: clamp(1.9rem, 4.8vw, 3rem); 
    font-weight: 800; 
    margin: 0; 
    line-height: 1.1; 
}

.flip_subtitle { 
    font-size: clamp(.95rem, 2.2vw, 1.15rem); 
    line-height: 1.6; 
    opacity: .98; 
    max-width: 740px; 
}

.flip_benefits { 
    display: flex; 
    gap: 1.25rem; 
    flex-wrap: wrap; 
    margin: .25rem 0 .25rem; 
}

.flip_membership .flip_benefits { justify-content: center; }

.flip_benefits li { 
    display: inline-flex; 
    align-items: center; 
    gap: .5rem; 
    font-weight: 700; 
    font-size: .95rem; 
    backdrop-filter: blur(2px); 
}

.flip_benefits i { 
    font-size: 1.05rem; 
    color: var(--secondary-color); 
}

.flip_actions { 
    display: inline-flex; 
    align-items: center; 
    gap: 1rem; 
    margin-top: 1.5rem; 
}

.flip_btn { 
    border-color: #fff; 
    color: #fff; 
}

.flip_btn:hover { 
    background: var(--primary-color); 
    border-color: var(--primary-color); 
}

.flip_link { 
    color: #fff; 
    text-decoration: underline; 
    font-weight: 700; 
}

.flip_link:hover { color: var(--secondary-color); }

/* Contact Details Flip Card Content */
.flip_contacts_header { 
    display: grid; 
    gap: .5rem; 
    max-width: 840px; 
}

.contact_col { 
    display: grid; 
    gap: 1.5rem; 
    margin-top: 2rem; 
}

.contact_col .contact_list { 
    display: grid; 
    gap: .6rem; 
    justify-content: center; 
    text-align: center; 
}

.flip_title + .flip_rule { 
    display: block; 
    width: 64px; 
    height: 2px; 
    background: rgba(255,255,255,.7); 
    margin-top: .35rem; 
}

.contact_section { 
    display: grid; 
    gap: .6rem; 
    margin-top: .9rem; 
}

.contact_list span:hover { 
    transform: scale(1.5); 
    transition: 1s; 
}

.contact_list i { 
    font-size: 1.5rem; 
    color: #fff; 
    opacity: .9; 
}

.contact_social { 
    display: inline-flex; 
    justify-content: center; 
    gap: .75rem; 
}
.contact_social a { 
    width: 36px; 
    height: 36px; 
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
    background: rgba(255,255,255,.95); 
    color: #222; 
    border-radius: 50%; 
}
.contact_social a:hover { 
    background: var(--primary-color); 
    color: #fff; 
    transition: transform .3s ease; 
    transform: translateY(-3px); 
}

/* Newsletter Flip Card & Form Content */
.newsletter_col { 
    display: grid; 
    gap: 1.5rem; 
    justify-content: center; 
}

.flip_newsletter_header { 
    display: grid; 
    gap: .5rem; 
    max-width: 840px; 
    text-align: center; 
}

.newsletter_col span i { 
    font-size: 1.5rem; 
    color: #fff; 
    opacity: .9; 
}

.newsletter_col span:hover { 
    transform: scale(1.5); 
    transition: 1s; 
}

.newsletter_form { 
    display: grid; 
    gap: .6rem; 
    max-width: 520px; 
}

.newsletter_row { 
    display: grid; 
    gap: .35rem; 
}

.newsletter_row input { 
    width: 100%; 
    border: 1px solid rgba(255,255,255,.65); 
    background: rgba(255,255,255,.95); 
    color: #111; 
    padding: .75rem .9rem; 
}

.newsletter_submit { 
    align-self: center; 
    border-radius: 999px; 
    font-weight: 800; 
    padding: .7rem 1.2rem; 
}

.newsletter_form .newsletter_row[hidden] { display: none !important; }

.select_newspaper_wrapper { position: relative; }

.select_newspaper_wrapper option { text-align: center; }

.select_newspaper_wrapper select { 
    appearance: none; 
    -webkit-appearance: none; 
    -moz-appearance: none; 
    width: 100%; 
    border: 1px solid rgba(0,0,0,.12); 
    background: rgba(255,255,255,.95); 
    color: #111; 
    padding: .8rem 0rem; 
}
.select_newspaper_wrapper .select_icon { 
    position: absolute; 
    right: .65rem; 
    top: 45%; 
    transform: translateY(-50%); 
    color: #444; 
}

/* FAQ Side */
.faq_header { 
    display: grid; 
    gap: .5rem; 
    max-width: 840px; 
    text-align: center; 
    justify-items: center; 
}

.flip_faqs .flip_enquiry_toggle_row { 
    position: absolute; 
    bottom: 0rem; 
    margin-bottom: 3rem; 
}

/* Enquiry Toggle Link */
.flip_enquiry_toggle_row { 
    display: flex; 
    justify-content: center; 
}

.flip_enquiry_toggle { 
    display: inline-flex; 
    align-items: center; 
    gap: .5rem; 
    background: transparent; 
    border: none; 
    color: #fff; 
    font-weight: 700; 
    letter-spacing: .02em; 
}

.flip_enquiry_toggle:hover { 
    color: var(--secondary-color); 
    transition: transform .25s ease; 
}

.flip_enquiry_toggle .toggle_icon { transition: transform .25s ease; }

.flip_enquiry_toggle[aria-expanded="true"] .toggle_icon { transform: rotate(180deg); }

/* Bottom Enquiry Panel */
.enquiry_expansion_inner { 
    width: 100%; 
    max-width: min(1400px, 94vw); 
    margin: 0 auto; 
}

.enquiry_header { 
    width: min(780px, 92vw); 
    display: grid; 
    gap: .35rem; 
    text-align: center; 
}

.enquiry_eyebrow { 
    font-size: .85rem; 
    letter-spacing: .18em; 
    text-transform: uppercase; 
    color: var(--text-light); 
}

.enquiry_title { 
    font-size: clamp(1.8rem, 4.2vw, 2.4rem); 
    font-weight: 800; 
    color: var(--text-dark); 
    margin: 0; 
}

.enquiry_form { 
    width: min(780px, 92vw); 
    margin-top: .9rem; 
    background: #fff; 
    border: 1px solid rgba(0,0,0,.08); 
    border-radius: .6rem; 
    box-shadow: 0 12px 28px rgba(0,0,0,.09); 
    padding: clamp(1rem, 2.6vw, 1.4rem); 
    display: grid; 
    gap: .9rem; 
}

.form_row { 
    display: grid; 
    gap: .35rem; 
}

.form_row label { 
    font-size: .82rem; 
    letter-spacing: .12em; 
    color: #6b6b6b; 
    border: 1px solid rgba(0,0,0,.12); 
    padding: .7rem; 
}

.form_row input, .form_row textarea, .form_row select { 
    width: 100%; 
    border: 1px solid rgba(0,0,0,.12); 
    padding: .9rem; 
    font-size: .95rem; 
    color: var(--text-dark); 
    background: #fff; 
}

.form_actions { margin-top: .5rem; }

.submit_btn { 
    width: 100%; 
    background: #1f3a45; 
    color: #fff; 
    border: 1px solid var(--primary-color); 
    padding: 1rem; 
    font-weight: 800; 
    letter-spacing: .12em; 
}

.select_wrapper { position: relative; }

.select_wrapper select { 
    appearance: none; 
    -webkit-appearance: none; 
    -moz-appearance: none; 
    width: 100%; 
    border: 1px solid rgba(0,0,0,.12); 
    background: rgba(255,255,255,.95); 
    color: #111; 
    padding: .8rem 2rem .8rem .9rem; 
}

.select_wrapper .select_icon { 
    position: absolute; 
    right: .65rem; 
    top: 50%; 
    transform: translateY(-50%); 
    color: #444; 
}

/* Full-Bleed Edges */
.membership_enquiry_section .membership_card_wrapper, .membership_enquiry_section .flip_bg img { border-radius: 0; }

@media (min-width: 900px) { 
    .flip_membership .flip_enquiry_toggle_row { 
        position: absolute; 
        bottom: 0rem; 
        margin-bottom: 3rem; 
    }

    .contact_social { margin-top: 1rem; }

	.flip_contacts .flip_enquiry_toggle_row { 
        position: absolute; 
        bottom: 0rem; 
        margin-bottom: 3rem; 
    }

    .flip_newsletter .flip_enquiry_toggle_row { 
        position: absolute; 
        bottom: 0rem; 
        margin-bottom: 3rem;
        margin-left: 1rem; 
    }

    .enquiry_expansion_inner { max-width: min(1400px, 50vw); }
}

@media (max-width: 900px) { 
	.flip_membership_header { margin-top: 4rem; }

	.flip_membership .flip_enquiry_toggle_row { margin-top: 1rem; }

    .contact_list { 
        grid-template-columns: 1fr 1fr 1fr; 
        text-align: left; 
        margin-right: 7rem; 
    }

	.contact_col { margin-top: 4rem; }

    .newsletter_col { 
        margin-top: 4rem; 
        gap: 0.5rem; 
    }

	.newsletter_col span i { font-size: 1.2rem; }

	.flip_newsletter .flip_enquiry_toggle_row { margin-left: 1rem; }
}