/*
 Theme Name:   darcysurf
 Template:     wp-bootstrap-starter
 Version:      1.0.0
*/

html {
    font-size: 16px;
}

:root {
    --darcy-spacing-6: 4rem;
    --darcy-primary-color: #f01033;
    --darcy-primary-color-active: #ff3856;
    --darcy-primary-color-disabled: #a03949;
    --darcy-light-color: #f2f5f7;
    --darcy-light-color-active: #ffffff;
    --darcy-light-color-disabled: #d8d8d8;
    --darcy-dark-color: #000;
    --darcy-dark-color-active: #000;
    --darcy-dark-color-disabled: #666;
}

.mt-6,
.my-6,
.m-6 { margin-top: var(--darcy-spacing-6) !important; }
.mb-6,
.my-6,
.m-6 { margin-bottom: var(--darcy-spacing-6) !important; }
.ml-6,
.mx-6,
.m-6 { margin-left: var(--darcy-spacing-6) !important; }
.mr-6,
.mx-6,
.m-6 { margin-right: var(--darcy-spacing-6) !important; }

.pt-6,
.py-6,
.p-6 { padding-top: var(--darcy-spacing-6) !important; }
.pb-6,
.py-6,
.p-6 { padding-bottom: var(--darcy-spacing-6) !important; }
.pl-6,
.px-6,
.p-6 { padding-left: var(--darcy-spacing-6) !important; }
.pr-6,
.px-6 ,
.p-6{ padding-right: var(--darcy-spacing-6) !important; }

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-bottom: 1.5rem;
    padding: 0;
    font-weight: 700;
    line-height: 1.2;
}
h1, .h1 {
    font-size: 1.625rem;
}
h2, .h2 {
    font-size: 1.375rem;
}
h3, .h3 {
    font-size: 1.25rem;
}
h4, .h4 {
    font-size: 1.125rem;
}
h5, .h5 {
    font-size: 1.0625rem;
}
h6, .h6 {
    font-size: 1.0625rem;
}

.bg-primary {
    background-color: var(--darcy-primary-color) !important;
    color: #fff;
}
.text-primary {
    color: var(--darcy-primary-color) !important;
}
.btn-light {
    background-color: var(--darcy-primary-color);
    border-color: var(--darcy-primary-color)
}
.btn-light:hover {
    background-color: var(--darcy-primary-color);
    border-color: var(--darcy-primary-color)
}
.btn-light.focus,.btn-light:focus {
    background-color: var(--darcy-primary-color);
    border-color: var(--darcy-primary-color);
    box-shadow: 0 0 0 .2rem rgba(38,143,255,.5)
}
.btn-light.disabled,.btn-light:disabled {
    background-color: var(--darcy-primary-color-disabled);
    border-color: var(--darcy-primary-color-disabled)
}
.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle {
    background-color: var(--darcy-primary-color-active);
    border-color: var(--darcy-primary-color-active)
}
.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus {
    box-shadow: 0 0 0 .2rem var(--darcy-primary-color-active)
}

.bg-light {
    background-color: var(--darcy-light-color) !important;
    color: #fff;
}
.text-light {
    color: var(--darcy-light-color) !important;
}
.btn-light {
    background-color: var(--darcy-light-color);
    border-color: var(--darcy-light-color)
}
.btn-light:hover {
    background-color: var(--darcy-light-color);
    border-color: var(--darcy-light-color)
}
.btn-light.focus,.btn-light:focus {
    background-color: var(--darcy-light-color);
    border-color: var(--darcy-light-color);
    box-shadow: 0 0 0 .2rem rgba(38,143,255,.5)
}
.btn-light.disabled,.btn-light:disabled {
    background-color: var(--darcy-light-color-disabled);
    border-color: var(--darcy-light-color-disabled)
}
.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle {
    background-color: var(--darcy-light-color-active);
    border-color: var(--darcy-light-color-active)
}
.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus {
    box-shadow: 0 0 0 .2rem var(--darcy-light-color-active)
}
.bg-dark {
    background-color: var(--darcy-dark-color) !important;
    color: #fff;
}
.text-dark {
    color: var(--darcy-dark-color) !important;
}

@media (min-width: 576px) {
    .mt-sm-6,
    .my-sm-6,
    .m-sm-6 { margin-top: var(--darcy-spacing-6) !important; }
    .mb-sm-6,
    .my-sm-6,
    .m-sm-6 { margin-bottom: var(--darcy-spacing-6) !important; }
    .ml-sm-6,
    .mx-sm-6,
    .m-sm-6 { margin-left: var(--darcy-spacing-6) !important; }
    .mr-sm-6,
    .mx-sm-6,
    .m-sm-6 { margin-right: var(--darcy-spacing-6) !important; }
    
    .pt-sm-6,
    .py-sm-6,
    .p-sm-6 { padding-top: var(--darcy-spacing-6) !important; }
    .pb-sm-6,
    .py-sm-6,
    .p-sm-6 { padding-bottom: var(--darcy-spacing-6) !important; }
    .pl-sm-6,
    .px-sm-6,
    .p-sm-6 { padding-left: var(--darcy-spacing-6) !important; }
    .pr-sm-6,
    .px-sm-6 ,
    .p-sm-6{ padding-right: var(--darcy-spacing-6) !important; }
}

@media (min-width: 768px) {
    .mt-md-6,
    .my-md-6,
    .m-md-6 { margin-top: var(--darcy-spacing-6) !important; }
    .mb-md-6,
    .my-md-6,
    .m-md-6 { margin-bottom: var(--darcy-spacing-6) !important; }
    .ml-md-6,
    .mx-md-6,
    .m-md-6 { margin-left: var(--darcy-spacing-6) !important; }
    .mr-md-6,
    .mx-md-6,
    .m-md-6 { margin-right: var(--darcy-spacing-6) !important; }
    
    .pt-md-6,
    .py-md-6,
    .p-md-6 { padding-top: var(--darcy-spacing-6) !important; }
    .pb-md-6,
    .py-md-6,
    .p-md-6 { padding-bottom: var(--darcy-spacing-6) !important; }
    .pl-md-6,
    .px-md-6,
    .p-md-6 { padding-left: var(--darcy-spacing-6) !important; }
    .pr-md-6,
    .px-md-6 ,
    .p-md-6{ padding-right: var(--darcy-spacing-6) !important; }

    h1, .h1 {
        font-size: 2.25rem;
    }
    h2, .h2 {
        font-size: 1.625rem;
    }
    h3, .h3 {
        font-size: 1.375rem;
    }
    h4, .h4 {
        font-size: 1.25rem;
    }
    h5, .h5 {
        font-size: 1.125rem;
    }
    h6, .h6 {
        font-size: 1.0625rem;
    }    
}

@media (min-width: 992px) {
    .mt-lg-6,
    .my-lg-6,
    .m-lg-6 { margin-top: var(--darcy-spacing-6) !important; }
    .mb-lg-6,
    .my-lg-6,
    .m-lg-6 { margin-bottom: var(--darcy-spacing-6) !important; }
    .ml-lg-6,
    .mx-lg-6,
    .m-lg-6 { margin-left: var(--darcy-spacing-6) !important; }
    .mr-lg-6,
    .mx-lg-6,
    .m-lg-6 { margin-right: var(--darcy-spacing-6) !important; }
    
    .pt-lg-6,
    .py-lg-6,
    .p-lg-6 { padding-top: var(--darcy-spacing-6) !important; }
    .pb-lg-6,
    .py-lg-6,
    .p-lg-6 { padding-bottom: var(--darcy-spacing-6) !important; }
    .pl-lg-6,
    .px-lg-6,
    .p-lg-6 { padding-left: var(--darcy-spacing-6) !important; }
    .pr-lg-6,
    .px-lg-6 ,
    .p-lg-6{ padding-right: var(--darcy-spacing-6) !important; }

    h1, .h1 {
        font-size: 2.375rem;
    }
    h2, .h2 {
        font-size: 1.875rem;
    }
    h3, .h3 {
        font-size: 1.5rem;
    }
    h4, .h4 {
        font-size: 1.375rem;
    }
    h5, .h5 {
        font-size: 1.25rem;
    }
    h6, .h6 {
        font-size: 1.125rem;
    }    
}

@media (min-width: 1200px) {
    .mt-xl-6,
    .my-xl-6,
    .m-xl-6 { margin-top: var(--darcy-spacing-6) !important; }
    .mb-xl-6,
    .my-xl-6,
    .m-xl-6 { margin-bottom: var(--darcy-spacing-6) !important; }
    .ml-xl-6,
    .mx-xl-6,
    .m-xl-6 { margin-left: var(--darcy-spacing-6) !important; }
    .mr-xl-6,
    .mx-xl-6,
    .m-xl-6 { margin-right: var(--darcy-spacing-6) !important; }
    
    .pt-xl-6,
    .py-xl-6,
    .p-xl-6 { padding-top: var(--darcy-spacing-6) !important; }
    .pb-xl-6,
    .py-xl-6,
    .p-xl-6 { padding-bottom: var(--darcy-spacing-6) !important; }
    .pl-xl-6,
    .px-xl-6,
    .p-xl-6 { padding-left: var(--darcy-spacing-6) !important; }
    .pr-xl-6,
    .px-xl-6 ,
    .p-xl-6{ padding-right: var(--darcy-spacing-6) !important; }
}

header#masthead {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    box-shadow: none;
}

#masthead .navbar-brand img {
    width: 70%;
    max-width: 400px;
}

#masthead .navbar .navbar-toggler {
    border: none;
    position: absolute;
    top: 5px;
    right: 0;
}

#masthead .navbar .navbar-toggler:focus {
    outline: none;
    outline: 1px solid #fff;
}

#masthead .navbar .navbar-toggler-icon {
    width: 2.5rem;
    height: 2.5rem;
}

/* ===== メニュー言語切替 ===== */

.navbar-nav .menu-item a {
    position: relative;
    display: inline-block;
}

/* 日本語は最初は非表示 */
.menu-ja {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.3s ease;
    white-space: nowrap;
}

/* 英語は通常表示 */
.menu-en {
    display: inline-block;
    transition: opacity 0.3s ease;
}

/* ホバー時 */
.navbar-nav .menu-item a:hover .menu-en {
    opacity: 0;
}

.navbar-nav .menu-item {
    min-width: 100px;
    text-align: center;
}

.navbar-nav .menu-item a:hover .menu-ja {
    opacity: 1;
}

body:not(.theme-preset-active) #masthead .navbar-nav > li > a {
    color: #fff;
    font-size: 1.125rem;
    text-transform: uppercase;
}

body:not(.theme-preset-active) #masthead .navbar-nav > li > a:hover, body:not(.theme-preset-active) #masthead .navbar-nav > li.current_page_item > a {
    font-weight: 700;
}

h1.entry-title {
    border-bottom: none;
    font-size: 1.625rem;
}

.carousel-wrapper {
    max-width: calc(100% - 2rem);
    margin: 0 auto;
}
.board-carousel .item a {
    display: block;
    text-align: center;
    transition: background-color 0.2s ease-in-out;
}
.board-carousel .item a:hover,
.board-carousel .item a:focus,
.board-carousel .item a:active {
    background-color: #fff;
    text-decoration: none;
}

.board-carousel .item h5 {
    font-size: 1rem;
    font-weight: 600;
}
/* Owl Carousel ナビの共通設定 */
.board-carousel .owl-nav {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    pointer-events: none; /* div自体はクリックされないように */
    height: 0;             /* 高さをゼロに */
    margin: 0;
    padding: 0;
}

.board-carousel .owl-nav button,
.board-carousel .owl-nav button:focus {
    outline: none;
}
.board-carousel .owl-nav .custom-nav {
    pointer-events: auto;  /* 実際の矢印だけクリック可能 */
    width: 24px;
    height: 24px;
    border-top: 3px solid #333;
    border-right: 3px solid #333;
    transform: rotate(-135deg); /* 右向き矢印 */
    cursor: pointer;
    z-index: 10;
    background: transparent;
    position: relative;
}

.board-carousel .owl-nav .custom-next {
    transform: rotate(45deg);
}

/* 左右位置調整 */
.board-carousel .owl-nav .custom-prev {
    left: -15px;
}

.board-carousel .owl-nav .custom-next {
    right: -15px;
}

/* ホバーで色変更 */
.board-carousel .owl-nav .custom-nav:hover {
    border-color: var(--darcy-primary-color);
}

/* サーフボードページ */
/* Single Surfboard Page Owl Carousel */
.single-surfboard-carousel .item img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* Owl Carousel Navigation */
.single-surfboard-carousel .owl-nav button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 0;
    width: 40px;
    height: 40px;
}

.single-surfboard-carousel .owl-nav button .prev,
.single-surfboard-carousel .owl-nav button .next {
    display: block;
    width: 20px;
    height: 20px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
}

.single-surfboard-carousel .owl-nav button.owl-prev .prev {
    transform: rotate(-135deg);
    margin-left: -10px;
}

.single-surfboard-carousel .owl-nav button.owl-next .next {
    transform: rotate(45deg);
    margin-right: -10px;
}

/* 右カラム：ACFテキストフィールド */
.surfboard-content p,
.surfboard-content h2,
.surfboard-content h3 {
    margin-bottom: 1rem;
}

/* Stock Size List */
.surfboard-stock-size ul {
    display: inline-flex;      /* コンテンツ幅に合わせる */
    flex-direction: column;
    padding: 0;
    margin: 0;
    list-style: none;           /* ドット削除 */
}

.surfboard-stock-size ul li {
    padding: 5px 10px;            /* 左右10px padding */
    border-bottom: 2px solid #000; /* 下線 */
}

@media (min-width: 576px) {
}
@media (min-width: 768px) {
    h1.entry-title {
        font-size: 2.25rem;
    }
    body:not(.theme-preset-active) #masthead .navbar-nav > li > a {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}
@media (min-width: 992px) {
    h1.entry-title {
        font-size: 2.375rem;
    }
    body:not(.theme-preset-active) #masthead .navbar-nav > li > a {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}
@media (min-width: 1260px) {
    .carousel-wrapper {
        max-width: 100%;
    }
    .board-carousel .owl-nav .custom-nav {
        width: 30px;
        height: 30px;
        border-top-width: 6px;
        border-right-width: 6px;
    }
    .board-carousel .owl-nav .custom-prev {
        left: -30px;
    }
    .board-carousel .owl-nav .custom-next {
        right: -30px;
    }
}
