/*
Theme Name: Itabashi Design Welcart Simple Plus Child
Description: Purpose-built Simple Plus child for Itabashi Design, migrated from Asukayama Works functionality with reviews excluded.
Template: welcart_simple-plus
Version: 0.2.0
Text Domain: itb-simpleplus-child
*/
.itb-cart-minimum-note {margin: 1rem 0; padding: .75rem 1rem; border: 1px solid #cbdde5; background: #f5fafc; color: #263842; font-size: .95rem; line-height: 1.6;}


/* ITB footer layout: Asukayama Works styling adapted without changing footer content. */
/* AW footer quiet layout v1 START (2026-11-06) */
footer {
    max-width: 1400px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    grid-template-areas: "sns sns" "menu copyright";
    column-gap: 2rem;
    row-gap: 0.225rem;
    align-items: end;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
}

footer > .sns {
    grid-area: sns;
    min-width: 0;
    margin: 0 0 8px !important;
    padding: 0;
}
footer > .sns .follow-us {
    display: none !important;
}
footer > .sns .row.justify-content-center {
    justify-content: flex-start !important;
}

footer > #site-info.footer-menu {
    grid-area: menu;
    min-width: 0;
    margin: 0;
    align-self: baseline;
}
footer > #site-info.footer-menu::before {
    display: none;
}
footer > #site-info.footer-menu nav.nav {
    width: 100%;
    margin: 0 !important;
}
footer > #site-info.footer-menu ul.navbar-nav {
    justify-content: flex-start;
    margin: 0 !important;
    text-align: left !important;
}
footer > #site-info.footer-menu ul.navbar-nav li {
    margin: 0 1.4rem 0 0;
}
footer > p.copyright {
    grid-area: copyright;
    justify-self: end;
    align-self: baseline;
    margin: 8px 0 0 !important;
    padding: 0;
    color: var(--general-text-color, #424242);
    text-align: right !important;
    white-space: nowrap;
}

footer > .sns a {
    position: relative;
    display: block;
    width: 28px;
    height: 28px;
    line-height: 0;
}
body footer > .sns a img {
    display: block;
    width: 28px !important;
    height: 28px !important;
}

/* Keep the original icons as a fallback in browsers without SVG CSS masks. */
@supports ((-webkit-mask-image: url("x.svg")) or (mask-image: url("x.svg"))) {
    footer > .sns a[href*="facebook.com"] img,
    footer > .sns a[href*="instagram.com"] img,
    footer > .sns a[href*="x.com"] img,
    footer > .sns a[href*="line.me"] img {
        opacity: 0;
    }

    footer > .sns a[href*="facebook.com"]::before,
    footer > .sns a[href*="instagram.com"]::before,
    footer > .sns a[href*="x.com"]::before,
    footer > .sns a[href*="line.me"]::before {
        content: "";
        position: absolute;
        inset: 0;
        background-color: var(--general-text-color, #424242);
        opacity: 0.6;
        pointer-events: none;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-size: contain;
        mask-size: contain;
        transition: opacity 0.2s ease;
    }

    footer > .sns a[href*="facebook.com"]::before {
        -webkit-mask-image: url("../welcart_simple-plus/assets/svg/sns/ico-facebook.svg");
        mask-image: url("../welcart_simple-plus/assets/svg/sns/ico-facebook.svg");
    }
    footer > .sns a[href*="instagram.com"]::before {
        -webkit-mask-image: url("../welcart_simple-plus/assets/svg/sns/ico-instagram.svg");
        mask-image: url("../welcart_simple-plus/assets/svg/sns/ico-instagram.svg");
    }
    footer > .sns a[href*="x.com"]::before {
        -webkit-mask-image: url("../welcart_simple-plus/assets/svg/sns/ico-twitter.svg");
        mask-image: url("../welcart_simple-plus/assets/svg/sns/ico-twitter.svg");
    }
    footer > .sns a[href*="line.me"]::before {
        -webkit-mask-image: url("../welcart_simple-plus/assets/svg/sns/ico-line.svg");
        mask-image: url("../welcart_simple-plus/assets/svg/sns/ico-line.svg");
    }
    footer > .sns a:hover::before,
    footer > .sns a:focus-visible::before {
        opacity: 1;
    }
}

@media screen and (max-width: 767px) {
    /* AW MOBILE FOOTER SPACING V2: phone only */
    footer {
        padding-bottom: 27px !important;
    }
    footer > .sns .row.justify-content-center {
        transform: translateY(32px);
    }
    /* AW MOBILE SNS RIGHT V1 */
    footer > .sns .row.justify-content-center {
        justify-content: flex-end !important;
    }
    footer > .sns {
        margin-bottom: 4px !important;
    }
    footer {
        grid-template-columns: minmax(0, 1fr) max-content;
        grid-template-areas: "sns sns" "menu copyright";
        column-gap: 0.5rem;
        row-gap: 0.3rem;
        align-items: end;
    }
    footer > .sns a {
        width: 24px;
        height: 24px;
    }
    footer > .sns a img {
        width: 24px !important;
        height: 24px !important;
    }
    footer > #site-info.footer-menu {
        align-self: end;
    }
    footer > #site-info.footer-menu ul.navbar-nav {
        flex-direction: column;
        gap: 0.325rem;
    }
    footer > #site-info.footer-menu ul.navbar-nav li {
        margin: 0;
    }
    footer > p.copyright {
        margin-top: 0 !important;
        font-size: 0.9rem;
        align-self: end;
    }
}

@media screen and (max-width: 359px) {
    footer > .sns .row.justify-content-center {
        --bs-gutter-x: 0.25rem;
        gap: 0.25rem;
        transform: translateY(32px);
    }
    footer > .sns .row .col-auto {
        padding-right: 0;
        padding-left: 0;
    }
}
/* AW footer quiet layout v1 END */

/* ITB desktop footer bottom spacing v1 */
@media screen and (min-width: 768px) {
    footer {
        padding-bottom: 36px !important;
    }
}

/* ITB desktop header menu spacing v1: top-level links only. */
@media screen and (min-width: 992px) {
    header #global-menu-pc .navbar-light .navbar-nav > li.menu-item > .nav-link {
        margin-left: 1.4rem;
        margin-right: 1.4rem;
    }
}
