/*
Theme Name: Klaus
Theme URI: https://www.omijapan.co.jp
Author: Omi Japan
Author URI: https://www.omijapan.co.jp
Description: 医療・ヘルスケアDXソリューションの開発をトータルサポート。Omi Japan株式会社の公式WordPressテーマ。
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: klaus
Tags: healthcare, medical, business, custom-post-types, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/**
 * Note: This stylesheet is not used for styling. 
 * All styles are loaded from the build folder via functions.php:
 * - build/style-app.css
 * - build/style-id.css
 */
.btn-lang {
    padding: 8px;
    border-radius: 4px;
    border: 1px solid #000;
}

.gt_white_content a {
    gap: 10px;
    display: flex;
}

.gtranslate_wrapper a.glink span {
    display: flex;
    align-items: center;
}

.header.header--white .header-info .site ul li.site-global a {
    border: 0px solid #000;
}

a.gt_switcher-popup {
    display: flex;
    justify-content: space-between;
}

.gtranslate_wrapper a.glink span {
    font-size: 14px;
}

/* Basic WordPress Required Styles */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.alignleft {
    float: left;
    margin-right: 1.5em;
}

.alignright {
    float: right;
    margin-left: 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* ====================================
   Pagination Styling
   ==================================== */
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 60px 0 40px;
    padding: 20px 0;
}

.pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    height: 48px;
    padding: 0 16px;
    border-radius: 50%;
    border: 1px solid #e0e0e0;
    background-color: #ffffff;
    color: #333333;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
}

/* Hover state */
.pagination .page-numbers:hover {
    border-color: #007bff;
    color: #007bff;
    background-color: #f8f9fa;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 123, 255, 0.15);
}

/* Current/Active page */
.pagination .page-numbers.current {
    background-color: #e8e8e8;
    border-color: #d0d0d0;
    color: #333333;
    font-weight: 600;
    cursor: default;
    pointer-events: none;
}

/* Prev/Next arrows */
.pagination .prev,
.pagination .next {
    border-radius: 50%;
    font-size: 0;
    position: relative;
}

.pagination .prev::before,
.pagination .next::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
}

.pagination .prev::before {
    transform: translate(-40%, -50%) rotate(-135deg);
}

.pagination .next::before {
    transform: translate(-60%, -50%) rotate(45deg);
}

/* Dots (ellipsis) */
.pagination .dots {
    border: none;
    background: transparent;
    color: #999999;
    cursor: default;
    pointer-events: none;
    min-width: auto;
    padding: 0 8px;
}

.pagination .dots:hover {
    transform: none;
    box-shadow: none;
    border: none;
    background: transparent;
}

/* Disabled state */
.pagination .page-numbers.disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

.news-quote,
.our-blog-quote {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.6;
}

/* WordPress Menu Dropdown Styles */
.gNav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.gNav>ul {
    display: flex;
}

.gNav li {
    position: relative;
}

/* Submenu (dropdown) */
.gNav .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 250px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
    padding: 10px 0;
}

.gNav li:hover>.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.gNav .sub-menu li {
    display: block;
}

.gNav .sub-menu a {
    display: block;
    padding: 12px 20px;
    color: #333;
    text-decoration: none;
    transition: background 0.2s;
}

.gNav .sub-menu a:hover {
    background: #f5f5f5;
}

/* Menu items with children - add arrow icon */
.gNav .menu-item-has-children>a::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    margin-left: 8px;
    vertical-align: middle;
}

/* Third-level submenu (grandchild) */
.gNav .sub-menu .sub-menu {
    position: absolute;
    top: 0;
    left: 100%;
    /* Position to the right of parent */
    margin-left: 0;
}

/* Show third-level submenu on hover */
.gNav .sub-menu li:hover>.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Arrow for submenu items that have children */
.gNav .sub-menu .menu-item-has-children>a::after {
    transform: rotate(-45deg);
    /* Point right instead of down */
    float: right;
    margin-left: auto;
    margin-right: 0;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .pagination {
        gap: 6px;
    }

    .pagination .page-numbers {
        min-width: 40px;
        height: 40px;
        font-size: 14px;
    }
}

/* ====================================
   Slick Slider Navigation - Health Medical Section
   ==================================== */

/* Container for dots and arrows */
.health-medical .slider-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 48px !important;
    gap: 24px;
}

/* Progress bar (dots) container - takes most of the width */
.health-medical .slider-item .slider-dots {
    flex: 1;
    max-width: 300px;
}

/* Progress bar styling */
.slider-dots--health .slick-dots {
    position: static !important;
    display: flex !important;
    background: rgba(13, 164, 198, 0.1) !important;
    border-radius: 6px !important;
    height: 6px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.slider-dots--health .slick-dots li {
    width: 100% !important;
    margin: 0 !important;
    height: 6px !important;
}

.slider-dots--health .slick-dots li button {
    height: 6px !important;
    width: 100% !important;
    border-radius: 6px !important;
    padding: 0 !important;
    background: transparent !important;
}

.slider-dots--health .slick-dots li button:before {
    display: none !important;
}

.slider-dots--health .slick-dots li.slick-active button {
    background: #0da4c6 !important;
}

/* Arrows container - fixed width on the right */
.health-medical .slider-item .slider-arrow {
    display: flex !important;
    gap: 8px;
    flex-shrink: 0;
}

/* Arrow buttons styling */
.slider-arrow--health .slick-arrow {
    position: static !important;
    width: 40px !important;
    height: 40px !important;
    background: #fff !important;
    border: 1px solid #d1d1d1 !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
    font-size: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
}

.slider-arrow--health .slick-arrow:before {
    content: '' !important;
    display: block !important;
    width: 10px !important;
    height: 10px !important;
    border-top: 2px solid #333 !important;
    border-right: 2px solid #333 !important;
    opacity: 1 !important;
}

.slider-arrow--health .slick-prev:before {
    transform: rotate(-135deg) !important;
    /* Point left */
    margin-left: 3px !important;
}

.slider-arrow--health .slick-next:before {
    transform: rotate(45deg) !important;
    /* Point right */
    margin-right: 3px !important;
}

.slider-arrow--health .slick-arrow:hover {
    border: 1px solid #0da4c6 !important;
    background: #f5f5f5 !important;
}

.slider-arrow--health .slick-arrow:hover:before {
    border-color: #0da4c6 !important;
}

.slider-arrow--health .slick-arrow.slick-disabled {
    cursor: not-allowed !important;
    opacity: 0.3 !important;
}

.slider-arrow--health .slick-arrow.slick-disabled:hover {
    border: 1px solid #d1d1d1 !important;
    background: #fff !important;
}

.slider-arrow--health .slick-arrow.slick-disabled:hover:before {
    border-color: #333 !important;
}

/* Responsive */
@media (max-width: 1280px) {
    .health-medical .slider-item {
        margin-top: 32px !important;
    }
}

@media (max-width: 767px) {
    .health-medical .slider-item {
        flex-wrap: wrap;
        gap: 16px;
    }

    .health-medical .slider-item .slider-dots {
        width: 100%;
        max-width: 100%;
    }

    .health-medical .slider-item .slider-arrow {
        width: 100%;
        justify-content: flex-end;
    }

    .slider-arrow--health .slick-arrow {
        width: 36px !important;
        height: 36px !important;
    }
}

.cursor-pointer {
    cursor: pointer;
}