/*
Theme Name:     RAVEBUS
Theme URI:      https://ravebus.cz
Description:    Child theme for Divi – customized for RAVEBUS website.
Author:         David Klhufek
Author URI:     https://phirebase.com
Template:       Divi
Version:        1.1.0
License:        GNU General Public License v2 or later
License URI:    https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    ravebus
*/

/* === Logo Styling === */
#logo-text, #logo-tagline{
    color: #d6a300;
    font-weight: bold;
    font-size: 44px;
}

/* === Mobile Menu Styling === */
ul#mobile_menu.et_mobile_menu a,
ul#top-menu a {
    text-transform: uppercase;
}

/* === Image Titles Off === */
.mfp-title {
    display: none;
}

/* === Animated Menu Link Underline === */
#top-menu a::after {
    content: "";
    display: block;
    height: 2px;
    width: 0;
    background-color: #c79b3b; /* Gold */
    transition: width 0.3s ease;
    margin-top: 4px;
}

#top-menu a.active-menu::after {
    width: 100%;
}

/* === Top Header === */
#top-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        url('/wp-content/uploads/2026/04/top-header.webp') repeat-x center/auto 100%,
        linear-gradient(rgba(0,0,0,0.15), rgba(0,0,0,0.15));
    opacity: 0.12;
    mix-blend-mode: multiply;
}

/* === Header === */
#main-header {
    position: relative;
    background-color: #0b0b0b; /* tmavý základ */

}

#main-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url('/wp-content/uploads/2026/04/texture-3.webp');
    background-size: cover;
    background-position: center;
    opacity: 0.05;
    mix-blend-mode: normal;
    z-index: 0;
}

/* zajistí že obsah je nad texturou */
#main-header .container {
    position: relative;
    z-index: 1;
}

/* === Blog Grid === */
.et_pb_blog_grid .et_pb_post {
    position: relative;
    border-radius: 16px;
    overflow: hidden;

    transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
    /*will-change: transform, box-shadow;*/
}

.et_pb_blog_grid .et_pb_post:hover {
    transform: translateY(-6px) scale(1.02);

    box-shadow:
        0 0 8px rgba(214, 163, 0, 0.3),
        0 0 16px rgba(255, 179, 71, 0.25),
        0 15px 35px rgba(0, 0, 0, 0.7);

    filter: contrast(1.05) brightness(1.05);
}

/* Ensure images scale smoothly inside cards */
.et_pb_blog_grid .et_pb_post img {
    transition: transform 0.35s ease-in-out;
}

/* Optional: subtle image zoom for depth */
.et_pb_blog_grid .et_pb_post:hover img {
    transform: scale(1.03);
}
/* Force image load */
.et_pb_blog_grid .et_pb_post img {
    display: block;
    width: 100%;
    height: auto;
    backface-visibility: hidden;
}

/* Enhance border effect to match site style */
.et_pb_blog_grid .et_pb_post:hover {
    border-color: #d6a300;
}

/* Prevent layout shifting */
.et_pb_blog_grid .et_pb_post {
    overflow: hidden;
}

/* Improve performance with hardware acceleration */
.et_pb_blog_grid .et_pb_post {
    will-change: transform, box-shadow;
}

/* Disable category links in Divi Blog Grid */
.et_pb_post .post-meta a {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: inherit;
}

/* Disable category links in Blog Module */
.et_pb_blog_grid .post-meta a {
    pointer-events: none;
    cursor: default;
}

/* Disable links inside post meta (categories, author, date) */
.et_pb_post .post-meta,
.et_pb_post .post-meta a {
    pointer-events: none;
}

/* --- Ikonové menu: na mobilech 2 sloupce vedle sebe --- */
@media (max-width: 767px) {
  /* Přepneme řádek na grid se 2 sloupci */
  .icons-2-mobile {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 16px;               /* mezery mezi kartami, klidně uprav */
  }

  /* Zrušíme mobilní 100% šířku & okraje, které Divi cpe sloupcům */
  .icons-2-mobile > .et_pb_column {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
  }

  /* ať každá karta vyplní výšku buňky (hezčí stejné kartičky) */
  .icons-2-mobile > .et_pb_column > .et_pb_module {
    height: 100%;
  }
}

/* === Blurb center === */
.blurb-center .et_pb_blurb {
    display: flex;
    justify-content: center; /* centrování celého bloku */
}

.blurb-center .et_pb_blurb_content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.blurb-center .et_pb_main_blurb_image {
    margin: 0 !important;
}

.blurb-center .et_pb_blurb_container {
    margin: 0 !important;
    width: auto !important;
}

.blurb-center .et_pb_blurb_description {
    text-align: left; /* text vedle ikony */
}

.blurb-center .et_pb_blurb_position_left .et_pb_blurb_container {
    padding-left: 5px;
    padding-top: 9px;
}

/* == Wp Pagenavi - RESET Divi stylu == */
.wp-pagenavi a,
.wp-pagenavi span {
    border: none !important;
    box-shadow: none !important;
}

/* ZÁKLAD */
.wp-pagenavi a,
.wp-pagenavi span.current {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;
    margin: 0 5px;

    border-radius: 50% !important;

    font-weight: 700;
    text-decoration: none;

    transition: all 0.25s ease;
}

/* INACTIVE */
.wp-pagenavi a {
    background: #d4a300 !important;
    color: #000 !important;
}

/* HOVER */
.wp-pagenavi a:hover {
    background: #ffcc00 !important;
    transform: translateY(-2px);

    box-shadow:
        0 0 10px rgba(255, 200, 0, 0.7),
        0 0 20px rgba(255, 200, 0, 0.4);
}

/* ACTIVE */
.wp-pagenavi span.current {
    background: #000 !important;
    color: #d4a300 !important;
    border: 2px solid #d4a300 !important;

    box-shadow:
        0 0 8px rgba(212,163,0,0.6),
        inset 0 0 6px rgba(212,163,0,0.4);
}

.et_pb_blog_grid .wp-pagenavi {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin-top: 40px !important;
}

.et_pb_blog_grid .wp-pagenavi span,
.et_pb_blog_grid .wp-pagenavi a {
    float: none !important;
}

/* === Scroll to Top Button === */
.et_pb_scroll_top.et-pb-icon {
    color: #0b0b0d;
    right: 30px;
    bottom: 30px;
    padding: 8px;
    border-radius: 30px;
    background: #d6a300; 
    font-size: 32px;
    transition: all 0.1s ease-in-out;
}

.et_pb_scroll_top.et-pb-icon:hover {
    bottom: 32px;
    background: #d6a300;
    transition: all 0.1s ease-in-out;
}

/* === Scroll Top Animations === */
.et_pb_scroll_top.et-visible {
    animation: fadeInBottom 1s cubic-bezier(0.50, 0, 0.16, 1);
}
.et_pb_scroll_top.et-hidden {
    opacity: 0;
    animation: fadeOutBottom 1s cubic-bezier(0.77, 0, 0.175, 1);
}

