/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: TwentyTwentyFive
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/
/* Ribbon */
/* Ribbon */

.ribbon-h2 h2, .custom-ribbon-h2, .section-title-main, .title-ribbon h1 { --ribbon-bg: #2b2b2b; --ribbon-fg: #fff; --ribbon-line: rgba(255, 255, 255, 0.6); --ribbon-notch: 0.9em; display: inline-block; max-width: 100%; box-sizing: border-box; margin: 0 0 1.5rem; padding: 0.7em 3em !important; text-wrap: balance !important; font-size: 1.5em !important; background: var(--ribbon-bg); color: var(--ribbon-fg); text-align: center; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; line-height: 1.2; clip-path: polygon(0 0, var(--ribbon-notch) 50%, 0 100%, 100% 100%, calc(100% - var(--ribbon-notch)) 50%, 100% 0); }

.ribbon-h2 h2, .custom-ribbon-h2 { font-size: clamp(1.2rem, 3vw, 2rem); }

.title-ribbon h1 { font-size: clamp(1.2rem, 5vw, 2rem); }

.section-title-main { font-size: 1.0rem; letter-spacing: 0.07em; margin-bottom: 4px; }

.ribbon-h2 h2::before, .ribbon-h2 h2::after, .custom-ribbon-h2::before, .custom-ribbon-h2::after, .section-title-main::before, .section-title-main::after, .title-ribbon h1::before, .title-ribbon h1::after { content: ""; display: block; border-top: 1px dotted var(--ribbon-line); margin-inline: 0.4em; }

.ribbon-h2 h2::before, .custom-ribbon-h2::before, .section-title-main::before, .title-ribbon h1::before { margin-bottom: 0.4em; }

.ribbon-h2 h2::after, .custom-ribbon-h2::after, .section-title-main::after, .title-ribbon h1::after { margin-top: 0.4em; }

.ribbon-h2, .section-title, .title-ribbon { text-align: center; }
/* Global */
body { line-height: 1.6; color: #2c3e50; background-color: #ecf0f1; margin: 0; padding: 0; }

/* Maid Directory */
.maid-directory-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-top: 20px;
}

/* Responsive Breakpoints */
@media (max-width: 1400px) {
    .maid-directory-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1000px) {
    .maid-directory-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .maid-directory-grid {
        grid-template-columns: 1fr;
    }
}

.maid-profile-card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
}

.card-avatar {
    width: 100%;
    height: 250px;
    background: #f0f0f0;
}

.card-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card-details {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.card-details h3 {
    margin: 0 0 15px;
    color: #333;
}

.card-details ul {
    list-style: none;
    padding: 0;
    margin: 0 0 15px;
    font-size: 0.9em;
    color: #555;
}

.card-details ul li {
    margin-bottom: 5px;
}

.card-bio {
    font-size: 0.9em;
    color: #666;
    background: #f9f9f9;
    padding: 10px;
    border-left: 3px solid #ff6b81;
    margin-bottom: 20px;
    flex-grow: 1;
}

.card-actions {
    margin-top: auto;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}

.card-actions .button {
    flex: 1;
    padding: 10px;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    text-align: center;
    transition: background 0.2s;
}

.send-interview-btn {
    background-color: #0073aa;
}

.send-interview-btn:hover {
    background-color: #005177;
}

.send-interview-btn:disabled {
    background-color: #999;
    cursor: not-allowed;
}

.delete-applicant-btn {
    background-color: #dc3232;
    flex: 0.5;
}

.delete-applicant-btn:hover {
    background-color: #a00;
}

.delete-applicant-btn:disabled {
    background-color: #ff9999;
    cursor: not-allowed;
}

.action-response {
    width: 100%;
    margin-top: 5px;
    min-height: 20px;
    text-align: center;
}

/* Applicant Dossier */
#applicant-profile-card { background: #f8f9fa; border: 1px solid #ddd; border-radius: 8px; padding: 20px; margin: 10px 0 20px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); }
.dossier-card { display: flex; gap: 20px; align-items: flex-start; }
.dossier-avatar img { width: 120px; height: 120px; object-fit: cover; border-radius: 6px; border: 2px solid #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); }
.dossier-details h3 { margin: 0 0 10px; color: #333; font-size: 1.4em; }
.dossier-details ul { list-style: none; padding: 0; margin: 0 0 15px; }
.dossier-details li { margin-bottom: 5px; font-size: 0.95em; color: #555; }
.dossier-bio { background: #fff; padding: 12px; border-radius: 4px; border-left: 3px solid #ff6b81; font-size: 0.9em; color: #444; }
.profile-placeholder, .profile-loading, .profile-error { text-align: center; color: #777; font-style: italic; margin: 0; }

/* Product Badges */
.box-image .out-of-stock-label { background: #333; color: #fff; font-weight: 700; position: absolute; top: 40%; left: 0; right: 0; padding: 12px 0; text-align: center; border-top: 4px dotted #fff; border-bottom: 4px dotted #fff; letter-spacing: 2px; opacity: 0.85; }
.woocommerce ul.products li.product .woocommerce-loop-product__link { position: relative; display: block; }
.preorder-badge { position: absolute; top: 10px; left: 10px; background-color: #ff4444; color: #fff; font-size: 12px; font-weight: bold; text-transform: uppercase; letter-spacing: 1px; padding: 6px 12px; border-radius: 4px; z-index: 10; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); pointer-events: none; }
.preorder-badge::before { content: ''; position: absolute; top: 0; left: -10px; border-top: 16px solid transparent; border-bottom: 16px solid transparent; border-right: 10px solid #ff4444; }
.backorder-badge { position: absolute; top: -50px; left: 10px; z-index: 10; background-color: #ffcc00; color: #000; font-size: 14px; font-weight: bold; padding: 5px 10px; border-radius: 5px; }
.backorder-badge-single { display: inline-block; background-color: #ffcc00; color: #000; font-size: 16px; font-weight: bold; padding: 10px 15px; border-radius: 5px; margin: 20px 0 10px; }

/* Pickup Notice */
.arcane-pickup-notice { background: #fff; border: 1px solid #e0e0e0; border-radius: 12px; padding: 24px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); font-family: inherit; line-height: 1.6; max-width: 100%; box-sizing: border-box; }
.arcane-pickup-notice .notice-title { display: block; font-size: 1.4em; font-weight: 700; color: #222; margin-bottom: 12px; letter-spacing: -0.5px; }
.arcane-pickup-notice .notice-text { margin: 0; font-size: 1em; color: #444; }
.arcane-pickup-notice .notice-text strong { color: #111; }
@media (max-width: 768px) { .arcane-pickup-notice { padding: 20px; border-radius: 10px; } .arcane-pickup-notice .notice-title { font-size: 1.3em; } }

/* Header */
.header-bottom { border-top: 1px solid transparent; border-bottom: 1px solid transparent; border-image: linear-gradient(to right, #6a0dad, #9932cc, #ba55d3, #dda0dd 60%, #fff 75%, #dda0dd 90%, #9932cc) 1; border-image-slice: 1; }

/* Digital Menu */
.ux-products-list.product_list_widget a { pointer-events: none; cursor: default; text-decoration: none; color: inherit; }
body.digital-menu-tv.framed, body.digital-menu-tv.framed header, body.digital-menu-tv.framed .header-wrapper, body.digital-menu-tv.boxed, body.digital-menu-tv.boxed header, body.digital-menu-tv.boxed .header-wrapper, body.digital-menu-tv.boxed .is-sticky-section { max-width: 100% !important; width: 100% !important; margin: 0 !important; }

/* Animations */
@keyframes pulse-red { 0% { transform: scale(1); } 50% { transform: scale(1.02); background-color: #d40000 !important; } 100% { transform: scale(1); } }
@keyframes pulse { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.7; transform: scale(1.05); } 100% { opacity: 1; transform: scale(1); } }
.pulse-text { animation: pulse 2s ease-in-out infinite; }

/* Gravity Forms */
body .gform-theme--framework .gfield--type-nurslider .noUi-connect, body .gform_wrapper .noUi-connect { background-color: #9575cd !important; }
.gform_wrapper .gform_button { background-color: #ff6600 !important; color: #fff !important; border-radius: 5px; padding: 10px 20px; font-weight: bold; }
.gform_wrapper .gform_button:hover { background-color: #cc5500 !important; }
.gf-fields-container { display: table; width: 100%; border-collapse: collapse; margin: 20px 0; }
.gf-field { display: table-row; }
.gf-field strong { display: table-cell; padding: 10px; background-color: #f2f2f2; border: 1px solid #ddd; width: 30%; box-sizing: border-box; }
.gf-field div, .gf-field a, .gf-field span { display: table-cell; padding: 10px; background-color: #fff; border: 1px solid #ddd; box-sizing: border-box; }
.gf-field a.button.secondary { padding: 5px 10px; font-size: 12px; background-color: #7069b3; }
.gf-field.event-image-gallery img { width: 100%; height: auto; }
@media (max-width: 768px) { .gf-fields-container { display: block; } .gf-field { display: block; margin-bottom: 10px; } .gf-field strong, .gf-field div, .gf-field a, .gf-field span { display: block; width: 100%; padding: 8px; } .gf-field a.button.secondary { display: inline-block; width: auto; margin-top: 5px; } }

/* GravityView */
.gv-list-container { margin: 0; padding: 0; border-radius: 10px; overflow: visible; }
.gv-list-view, .arcane-text-box { --corner: 10px; border: var(--corner) solid; border-image-source: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="3" height="3" fill="%23f4f0fd"><path d="M2 0H1C1 .6.6 1 0 1v1c.6 0 1 .4 1 1h1c0-.6.4-1 1-1V1a1 1 0 0 1-1-1Z" fill="%23f4f0fd"/></svg>'); border-image-slice: 1 fill; background-color: #fff; padding: 5px; position: relative; z-index: 10; outline: 1px solid #bbb; outline-offset: -5px; }
.gv-list-view::before, .arcane-text-box::before { content: ''; position: absolute; inset: -7px; border: var(--corner) solid; border-image-source: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="3" height="3" fill="%23f4f0fd"><path d="M2 0H1C1 .6.6 1 0 1v1c.6 0 1 .4 1 1h1c0-.6.4-1 1-1V1a1 1 0 0 1-1-1Z" fill="%23f4f0fd"/></svg>'); border-image-slice: 1 fill; pointer-events: none; z-index: -1; }
.gv-list-view-bw { --corner: 10px; border: var(--corner) solid; border-image-slice: 1 fill; background-color: #fff; padding: 5px; position: relative; outline: 2px solid #646366; }
.gv-list-view-bw::before { content: ''; position: absolute; inset: -3px; border: var(--corner) solid; border-image-source: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="3" height="3" fill="%23ffffff"><path d="M2 0H1C1 .6.6 1 0 1v1c.6 0 1 .4 1 1h1c0-.6.4-1 1-1V1a1 1 0 0 1-1-1Z" fill="%23ffffff"/></svg>'); border-image-slice: 1 fill; pointer-events: none; z-index: -1; }
.gv-list-view-title h3, .gv-list-view-subtitle h4 { margin: 0; padding: 0; }
.gv-list-view-title h3 { font-size: 24px; color: #333; text-align: center; }
.gv-list-view-subtitle h4 { font-size: 13px; color: #333; text-align: center; }
.gv-list-view-title p { font-size: 1em; }
.gv-list-view-content-image { margin-bottom: 20px; }
.gv-list-view-content-image img { max-width: 100%; padding-right: 20px; }
.gv-list-view-content-description { width: 100%; box-sizing: border-box; padding: 0 5px; margin-bottom: 5px; }
.gv-list-view-content-description ul.bulleted { margin: 0; padding: 0 0 0 20px; list-style-type: disc; }
.gv-list-view-content-description ul.bulleted li { margin-bottom: 5px; }
.gv-list-view-footer { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 5px; padding: 0.5em; color: #333; background-color: #fff; }
.gv-list-view-footer .gv-grid-col-1-2 { flex: 1; padding: 10px; box-sizing: border-box; }
.gv-list-view-footer .gv-grid-col-1-2:not(:last-child) { border-right: 1px solid #ddd; }
.gv-list-view-footer div { margin-bottom: 10px; }
.gv-list-view-footer .gv-field-2-70 ul.bulleted { margin: 0; padding: 0 0 0 20px; list-style-type: circle; }
.gv-list-view-footer .gv-field-2-70 ul.bulleted li { margin-bottom: 5px; }
.gv-list-view-footer a { color: #8224e3; text-decoration: none; }
.gv-list-view-footer a:hover { text-decoration: underline; }
.gv-field-label { font-weight: bold; color: #222; }
.gv-grid { display: flex; flex-wrap: wrap; }
.gv-grid-col-2-3 { flex: 1 1 100%; }
.gv-grid .gv-list-view-content p { font-size: 1em; line-height: 1em; }
.gv-grid-item-image img { display: block; margin: 0 auto 15px; width: 250px; height: 250px; object-fit: cover; border-radius: 50%; max-width: 100%; }
.gv-grid-item-image img:nth-child(n+2) { display: none; }
.gv-grid-item-image, .gv-grid-item-title { width: 100%; text-align: center; }
.gv-right { text-align: left; display: block; }
.gv-field-2-64, .gv-field-2-64 p { margin: 0; padding: 0; width: 100%; }
.gv-back-link a { display: inline-block; margin-bottom: 2px; color: #111; text-decoration: none; padding: 0.5em; }
.gv-back-link a:hover { text-decoration: underline; }
.gv-list-multiple-container.gv-container-4606 { display: flex; flex-wrap: wrap; justify-content: space-between; }
.gv-list-multiple-container.gv-container-4606 .gv-list-view { width: calc(33.333% - 15px); margin-right: 10px; margin-bottom: 20px; box-sizing: border-box; }
.gv-list-multiple-container.gv-container-4606 .gv-list-view:nth-child(3n) { margin-right: 0; }
@media (max-width: 1024px) { .gv-list-multiple-container.gv-container-4606 .gv-list-view { width: calc(50% - 15px); } .gv-list-multiple-container.gv-container-4606 .gv-list-view:nth-child(3n) { margin-right: 10px; } .gv-list-multiple-container.gv-container-4606 .gv-list-view:nth-child(2n) { margin-right: 0; } }
@media (max-width: 768px) { .gv-list-multiple-container.gv-container-4606 .gv-list-view { width: 100%; margin-right: 0; } }

/* Event Details */
.event-details { display: flex; margin-top: 20px; padding: 20px; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 5px; }
.event-content { flex: 1; }
.event-info { flex: 1; margin-left: 20px; }
.event-title { text-align: center; padding: 20px 0; margin: 0; }
.event-date { background-color: #ffcc00; color: #333; padding: 5px 10px; border-radius: 3px; }

/* Post Content */
.post-content { margin: 20px 0; }
.post-content p { margin-bottom: 10px; line-height: 1.6; }
.featured-image { margin: 0 auto 20px; width: 100%; max-width: 400px; border: 2px solid #ddd; padding: 5px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); border-radius: 5px; }
.featured-image img { width: 100%; height: auto; display: block; border-radius: 5px; }
.content-wrapper { margin-bottom: 100px; }
.message-to-staff { margin-top: 20px; padding: 15px; background-color: #f0f0f0; border: 1px solid #ccc; border-radius: 5px; }

/* Misc UI */
.buy-tickets-button { display: inline-block; padding: 10px 20px; background-color: #333; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; text-align: center; transition: background-color 0.3s ease; }
.buy-tickets-button:hover { background-color: #666; }
ul.links li { display: inline-block; margin: 1em; font-weight: 800; }
button.button.alt.ppcp-dcc-order-button { width: 100%; }
.discord-qr { page-break-inside: avoid; }
.join-date { display: flex; align-items: center; }
.join-date .gv-field-label { margin-right: 0.5em; }
.join-date p { margin: 0; }

/* Activation Page */
body.activation-page #content { max-width: 600px; margin: 5% auto; padding: 30px; background-color: #f9f9f9; border: 1px solid #ccc; border-radius: 8px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); text-align: center; }
body.activation-page #content h2 { font-size: 24px; color: #333; margin-bottom: 20px; text-transform: uppercase; }
body.activation-page #signup-welcome, body.activation-page .view { margin-bottom: 20px; }
body.activation-page #signup-welcome p, body.activation-page .view p { font-size: 16px; line-height: 1.6; color: #666; }
body.activation-page .view a { color: #8a2be2; text-decoration: none; font-weight: bold; margin-left: 10px; }
body.activation-page .view a:hover { color: #800080; text-decoration: underline; }

/* Footer */
.absolute-footer, .absolute-footer a { color: #000; font-size: 1em; }

/* Portfolio */
.collaboration-logo { padding: 30px; }
.collaboration-period-dates { margin-top: 0.25rem; margin-left: 1rem; font-size: 0.75em; }
.portfolio-custom-details strong { display: inline-block; min-width: 140px; }
.portfolio-activations-list { margin-left: 1.5rem; margin-top: 0.5rem; }
.portfolio-activations-list li { margin-bottom: 0.3rem; }
@media (min-width: 850px) { .portfolio-custom-details p { display: flex; align-items: baseline; } .portfolio-custom-details strong { flex-shrink: 0; } }

/* Hololive Products */
.hololive-cheer-up-products { list-style-type: none; padding: 0; }
.hololive-product { margin-bottom: 20px; padding: 10px; border-bottom: 1px solid #eee; }
.hololive-product img { max-width: 150px; height: auto; }

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}