/* =============================================
   FIGHTING SPIRIT - FULL VISUAL OVERHAUL
   Dark / Aggressive / Martial Arts
   ============================================= */

/* === LOGO === */
.logo_container img {
    width: 160px !important;
    height: auto !important;
    max-height: 70px !important;
    filter: drop-shadow(0 0 6px rgba(204,0,0,0.5)) !important;
    transition: filter 0.3s ease !important;
}
.logo_container img:hover {
    filter: drop-shadow(0 0 14px rgba(204,0,0,1)) !important;
}

/* === NAVBAR === */
#main-header,
#main-header.et-fixed-header {
    background-color: rgba(10,10,10,0.97) !important;
    border-bottom: 2px solid #cc0000 !important;
    box-shadow: 0 2px 20px rgba(204,0,0,0.3) !important;
}
#main-header .nav li a,
#main-header.et-fixed-header .nav li a {
    color: #ffffff !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    transition: color 0.3s ease, text-shadow 0.3s ease !important;
}
#main-header .nav li a:hover,
#main-header.et-fixed-header .nav li a:hover {
    color: #cc0000 !important;
    text-shadow: 0 0 8px rgba(204,0,0,0.7) !important;
}
#main-header .nav li.current_page_item > a {
    color: #cc0000 !important;
}

/* === HERO SLIDER === */
.et_pb_slider .et_pb_slide {
    min-height: 500px !important;
}
.et_pb_fullwidth_slider .et_pb_slide {
    min-height: 500px !important;
}

.et_pb_slide:before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.65) 100%);
    z-index: 1;
    pointer-events: none;
}
.et_pb_slide_description {
    position: relative;
    z-index: 2;
}
.et_pb_slide_description .et_pb_slide_title {
    font-size: 58px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 6px !important;
    text-shadow: 3px 3px 0px #cc0000, 5px 5px 20px rgba(0,0,0,0.9) !important;
    color: #ffffff !important;
    line-height: 1.1 !important;
}
.et_pb_slide_description .et_pb_slide_content {
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    color: #dddddd !important;
    text-shadow: 1px 1px 6px rgba(0,0,0,0.9) !important;
}

/* === BUTTONS === */
.et_pb_button,
a.et_pb_button {
    background-color: #cc0000 !important;
    border: 2px solid #cc0000 !important;
    color: #ffffff !important;
    border-radius: 0px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    font-size: 13px !important;
    padding: 14px 30px !important;
    transition: all 0.3s ease !important;
    clip-path: polygon(6px 0%, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
}
.et_pb_button:hover,
a.et_pb_button:hover {
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    color: #cc0000 !important;
    box-shadow: 0 0 20px rgba(204,0,0,0.5) !important;
    transform: translateY(-2px) !important;
}
.et_pb_button:after { display: none !important; }

/* === PAGE BACKGROUND === */
body,
.et_pb_section {
    background-color: #0a0a0a !important;
}
.et_pb_section.et_pb_section_0,
.et_pb_fullwidth_section {
    background-color: transparent !important;
}

/* === TEXT === */
.et_pb_text_inner,
.et_pb_text_inner p {
    color: #cccccc !important;
    line-height: 1.9 !important;
    font-size: 15px !important;
}
.et_pb_text_inner strong { color: #ffffff !important; }

/* === BLURB MODULES === */
.et_pb_blurb {
    background: linear-gradient(135deg, #111111 0%, #1a1a1a 100%) !important;
    border: 1px solid #2a2a2a !important;
    border-top: 3px solid #cc0000 !important;
    padding: 30px 25px !important;
    transition: all 0.35s ease !important;
}
.et_pb_blurb:hover {
    border-top-color: #ff2222 !important;
    box-shadow: 0 8px 30px rgba(204,0,0,0.25) !important;
    transform: translateY(-5px) !important;
}
.et_pb_blurb .et_pb_module_header,
.et_pb_blurb_title {
    color: #ffffff !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-size: 12px !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: nowrap !important;
}
.et_pb_blurb_description,
.et_pb_blurb_description p {
    color: #999999 !important;
    font-size: 14px !important;
}

/* === DIVIDERS === */
.et_pb_divider_internal {
    border-top: 2px solid #cc0000 !important;
    box-shadow: 0 0 8px rgba(204,0,0,0.4) !important;
}

/* === HEADINGS === */
.et_pb_column h1,
.et_pb_column h2,
.et_pb_column h3,
.et_pb_column h4 {
    color: #ffffff !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
}
.et_pb_column h2 {
    border-left: 4px solid #cc0000 !important;
    padding-left: 15px !important;
}

/* === FOOTER === */
#footer-widgets {
    background-color: #050505 !important;
    border-top: 3px solid #cc0000 !important;
}
#et-footer-nav {
    background-color: #000000 !important;
    border-top: 1px solid #1a1a1a !important;
}
.footer-widget h4 { color: #cc0000 !important; letter-spacing: 3px !important; }
.footer-widget, .footer-widget p, .footer-widget a { color: #888888 !important; }
.footer-widget a:hover { color: #cc0000 !important; }

/* === SOCIAL ICONS === */
.et_pb_social_media_follow li a {
    background-color: #1a1a1a !important;
    border: 1px solid #333333 !important;
    transition: all 0.3s ease !important;
}
.et_pb_social_media_follow li a:hover {
    background-color: #cc0000 !important;
    border-color: #cc0000 !important;
    transform: scale(1.1) !important;
}

/* === TRANSITIONS === */
.et_pb_blurb,
.et_pb_button,
.et_pb_image img {
    transition: all 0.3s ease !important;
}
.et_pb_image img:hover {
    transform: scale(1.03) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.5) !important;
}

/* === CONTACT SECTION === */

/* Title "Επικοινωνία με Fighting Spirit" */
#epikoinonia .et_pb_text_inner {
    font-size: 34px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    letter-spacing: 5px !important;
    position: relative !important;
    padding-bottom: 20px !important;
    line-height: 1.2 !important;
}
#epikoinonia .et_pb_text_inner::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background: #cc0000;
}

/* Contact info section background */
.et_pb_section_18 {
    background: #0d0d0d !important;
    padding-top: 50px !important;
    padding-bottom: 60px !important;
}

/* Column cards */
.et_pb_row_23 .et_pb_column {
    background: linear-gradient(160deg, #131313 0%, #1c1c1c 100%) !important;
    border: 1px solid #222 !important;
    border-top: 3px solid #cc0000 !important;
    padding: 35px 30px 25px !important;
}

/* School name titles */
.et_pb_text_12 .et_pb_text_inner,
.et_pb_text_14 .et_pb_text_inner {
    font-size: 18px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    color: #cc0000 !important;
    letter-spacing: 3px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid #2a2a2a !important;
    margin-bottom: 5px !important;
}

/* Contact info paragraphs */
.et_pb_text_13 .et_pb_text_inner div > p,
.et_pb_text_15 .et_pb_text_inner div > p {
    color: #cccccc !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    margin-bottom: 10px !important;
    padding-left: 28px !important;
    position: relative !important;
}

/* Icons - Font Awesome
   t13 (Ζωγράφου): H3 + P(addr) + P(phone) + P(email) → nth-child 2,3,4
   t15 (Σαλαμίνας): P(addr) + P(phone) + P(email)      → nth-child 1,2,3  */

/* Padding for all icon paragraphs */
.et_pb_text_13 .et_pb_text_inner div > p:nth-child(2),
.et_pb_text_13 .et_pb_text_inner div > p:nth-child(3),
.et_pb_text_13 .et_pb_text_inner div > p:nth-child(4),
.et_pb_text_15 .et_pb_text_inner div > p:nth-child(1),
.et_pb_text_15 .et_pb_text_inner div > p:nth-child(2),
.et_pb_text_15 .et_pb_text_inner div > p:nth-child(3) {
    padding-left: 28px !important;
}

/* Address / location pin */
.et_pb_text_13 .et_pb_text_inner div > p:nth-child(2)::before,
.et_pb_text_15 .et_pb_text_inner div > p:nth-child(1)::before {
    font-family: 'FontAwesome';
    font-weight: 900;
    content: '\f3c5';
    position: absolute;
    left: 0;
    color: #cc0000;
    font-size: 14px;
    line-height: 1.8;
}

/* Phone */
.et_pb_text_13 .et_pb_text_inner div > p:nth-child(3)::before,
.et_pb_text_15 .et_pb_text_inner div > p:nth-child(2)::before {
    font-family: 'FontAwesome';
    font-weight: 900;
    content: '\f095';
    position: absolute;
    left: 0;
    color: #cc0000;
    font-size: 14px;
    line-height: 1.9;
}

/* Email */
.et_pb_text_13 .et_pb_text_inner div > p:nth-child(4)::before,
.et_pb_text_15 .et_pb_text_inner div > p:nth-child(3)::before {
    font-family: 'FontAwesome';
    font-weight: 900;
    content: '\f0e0';
    position: absolute;
    left: 0;
    color: #cc0000;
    font-size: 14px;
    line-height: 1.9;
}

/* Bold labels */
.et_pb_text_13 strong,
.et_pb_text_15 strong {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Links in contact info */
.et_pb_text_13 a,
.et_pb_text_15 a {
    color: #cc0000 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
    font-weight: 600 !important;
}
.et_pb_text_13 a:hover,
.et_pb_text_15 a:hover {
    color: #ff4444 !important;
    text-decoration: underline !important;
}

/* Map container */
.fs-map {
    margin-top: 18px !important;
    border: 2px solid #1e1e1e !important;
    overflow: hidden !important;
}
.fs-map iframe {
    display: block !important;
    width: 100% !important;
    border: none !important;
}

/* === CONTACT FORM === */
.et_pb_contact_form_container {
    background: linear-gradient(160deg, #131313 0%, #1c1c1c 100%) !important;
    border: 1px solid #222 !important;
    border-top: 3px solid #cc0000 !important;
    padding: 40px !important;
    margin-bottom: 40px !important;
}
.et_pb_contact_form_label {
    color: #888888 !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    font-weight: 700 !important;
}
.et_pb_contact_form_0 input.input,
.et_pb_contact_form_0 textarea.et_pb_contact_message,
.et_pb_contact_form_0 select {
    background: #0a0a0a !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 0 !important;
    color: #ffffff !important;
    padding: 12px 15px !important;
    font-size: 14px !important;
    transition: border-color 0.3s !important;
}
.et_pb_contact_form_0 input.input:focus,
.et_pb_contact_form_0 textarea.et_pb_contact_message:focus {
    border-color: #cc0000 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(204,0,0,0.15) !important;
}
.et_pb_contact_submit {
    background-color: #cc0000 !important;
    border: 2px solid #cc0000 !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    font-size: 13px !important;
    padding: 14px 35px !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: 10px !important;
}
.et_pb_contact_submit:hover {
    background-color: #ffffff !important;
    color: #cc0000 !important;
}

/* === SELECTION & SCROLLBAR === */
::selection { background: #cc0000; color: #ffffff; }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #0a0a0a; }
::-webkit-scrollbar-thumb { background: #cc0000; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #ff2222; }

/* === SECTION TITLES ===
   text_1=Οι Σχόλες μας | text_3=Kick Boxing ή TaeKwonDo
   text_5=Συχνές ερωτήσεις | text_6=Ο χώρος μας | text_8=Τιμές
   text_9=Εδώ μπορείτε να βρείτε | text_10=Προπονητής
   text_11=Επικοινωνία (already styled in #epikoinonia)
*/
.et_pb_text_1 .et_pb_text_inner,
.et_pb_text_3 .et_pb_text_inner,
.et_pb_text_5 .et_pb_text_inner,
.et_pb_text_6 .et_pb_text_inner,
.et_pb_text_8 .et_pb_text_inner,
.et_pb_text_9 .et_pb_text_inner,
.et_pb_text_10 .et_pb_text_inner {
    font-size: 34px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    letter-spacing: 5px !important;
    text-align: center !important;
    position: relative !important;
    padding-bottom: 18px !important;
    line-height: 1.2 !important;
}

/* Red accent underline on section titles */
.et_pb_text_1 .et_pb_text_inner::after,
.et_pb_text_3 .et_pb_text_inner::after,
.et_pb_text_5 .et_pb_text_inner::after,
.et_pb_text_6 .et_pb_text_inner::after,
.et_pb_text_8 .et_pb_text_inner::after,
.et_pb_text_9 .et_pb_text_inner::after,
.et_pb_text_10 .et_pb_text_inner::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: #cc0000;
    box-shadow: 0 0 10px rgba(204,0,0,0.6);
}

/* Spacing: title modules sit flush at top, breathe below */
.et_pb_text_1,
.et_pb_text_3,
.et_pb_text_5,
.et_pb_text_6,
.et_pb_text_8,
.et_pb_text_9,
.et_pb_text_10 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 40px !important;
}

/* === DIVIDERS between content sections === */
.et_pb_section:not(.et_pb_fullwidth_section):not(.et_pb_section_0):not(:first-child) {
    border-top: 1px solid rgba(204,0,0,0.18) !important;
}

/* === SCROLL ANIMATIONS === */
@keyframes fs-fadein-up {
    from { opacity: 0; transform: translateY(38px); }
    to   { opacity: 1; transform: translateY(0); }
}

.fs-animate {
    opacity: 0;
    transform: translateY(38px);
}
.fs-animate.fs-visible {
    animation: fs-fadein-up 0.65s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.fs-delay-1.fs-visible { animation-delay: 0.10s; }
.fs-delay-2.fs-visible { animation-delay: 0.20s; }
.fs-delay-3.fs-visible { animation-delay: 0.30s; }
