/*
Theme Name: Rinchan Shop Theme
Theme URI: https://shop.hayashi.fun/
Description: GeneratePress child theme for 林ヘルスケアグループ りんちゃんショップ
Author: Hayashi Healthcare Group
Template: generatepress
Version: 1.0.16
Text Domain: rinchan-shop-theme
*/

/* =========================================================
   Rinchan Shop Design System
   ========================================================= */

:root{
    --rin-blue:#1677bd;
    --rin-blue-dark:#0c5f9d;
    --rin-blue-soft:#edf7fd;
    --rin-sky:#dff2ff;
    --rin-green:#79bd43;
    --rin-green-soft:#f2faed;
    --rin-ink:#17212b;
    --rin-text:#394651;
    --rin-muted:#75818a;
    --rin-line:#dbe8ef;
    --rin-bg:#ffffff;
    --rin-soft:#f8fbfd;
    --rin-radius:14px;
    --rin-radius-sm:9px;
    --rin-shadow:0 10px 30px rgba(31,95,136,.06);
    --rin-max:1240px;
}

html{scroll-behavior:smooth}

body.rinchan-shop-theme-active{
    background:
        radial-gradient(circle at 12% 12%, rgba(208,236,252,.42), transparent 23%),
        radial-gradient(circle at 88% 22%, rgba(221,245,209,.32), transparent 22%),
        #fff;
    color:var(--rin-text);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}

body.rinchan-shop-theme-active .site-content{
    max-width:var(--rin-max);
    margin:0 auto;
    padding-left:28px;
    padding-right:28px;
}

body.rinchan-shop-theme-active .inside-article{
    padding-top:42px;
    padding-bottom:54px;
}

body.rinchan-shop-theme-active h1,
body.rinchan-shop-theme-active h2,
body.rinchan-shop-theme-active h3{
    color:var(--rin-ink);
    letter-spacing:.01em;
}

body.rinchan-shop-theme-active a{
    transition:color .15s ease, background .15s ease, border-color .15s ease, transform .15s ease;
}

/* =========================================================
   Header / Brand
   ========================================================= */

body.rinchan-shop-theme-active .site-header{
    background:rgba(255,255,255,.96);
    border-bottom:1px solid var(--rin-line);
    box-shadow:0 3px 18px rgba(41,91,121,.04);
}

body.rinchan-shop-theme-active .inside-header{
    max-width:var(--rin-max);
    min-height:102px;
    padding:10px 28px;
    gap:28px;
}

.rinchan-brand-link{
    display:block;
    width:370px;
    height:82px;
    overflow:hidden;
    border-radius:10px;
    text-decoration:none;
    flex:0 0 auto;
}

.rinchan-brand-link img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center 50%;
}

body.rinchan-shop-theme-active .main-title{
    margin:0!important;
}

body.rinchan-shop-theme-active .main-navigation{
    background:transparent!important;
}

body.rinchan-shop-theme-active .main-navigation .inside-navigation{
    min-height:70px;
}

body.rinchan-shop-theme-active .main-navigation .main-nav > ul{
    align-items:center;
    gap:6px;
}

body.rinchan-shop-theme-active .main-navigation .main-nav > ul > li > a{
    min-height:48px;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    color:var(--rin-ink)!important;
    font-size:1rem!important;
    font-weight:700!important;
    background:transparent!important;
}

body.rinchan-shop-theme-active .main-navigation .main-nav > ul > li > a:hover{
    color:var(--rin-blue)!important;
}

body.rinchan-shop-theme-active .main-navigation .main-nav > ul > li.current-menu-item > a::after,
body.rinchan-shop-theme-active .main-navigation .main-nav > ul > li.current_page_item > a::after,
body.rinchan-shop-theme-active .main-navigation .main-nav > ul > li.hayashi-current-menu > a::after{
    left:12px!important;
    right:12px!important;
    bottom:3px!important;
    height:3px!important;
    background:var(--rin-blue)!important;
}

body.rinchan-shop-theme-active .main-navigation .main-nav ul li.hayashi-session-menu > a{
    color:#53616c!important;
}

body.rinchan-shop-theme-active .main-navigation .main-nav ul li.hayashi-header-cart{
    margin-left:10px!important;
    padding-left:16px!important;
}

body.rinchan-shop-theme-active .main-navigation .main-nav ul li.hayashi-header-cart::before{
    background:var(--rin-line)!important;
    height:34px!important;
}

body.rinchan-shop-theme-active .hayashi-header-cart__link{
    gap:8px!important;
}

body.rinchan-shop-theme-active .hayashi-header-cart__amount .woocommerce-Price-amount{
    font-size:1.08rem!important;
    color:var(--rin-ink)!important;
}

body.rinchan-shop-theme-active .hayashi-header-cart__count{
    background:var(--rin-blue)!important;
    color:#fff!important;
    min-width:22px!important;
    height:22px!important;
}

/* =========================================================
   Buttons / Forms
   ========================================================= */

body.rinchan-shop-theme-active .button,
body.rinchan-shop-theme-active button.button,
body.rinchan-shop-theme-active input.button,
body.rinchan-shop-theme-active .woocommerce a.button,
body.rinchan-shop-theme-active .woocommerce button.button,
body.rinchan-shop-theme-active .woocommerce input.button{
    min-height:48px!important;
    border:1px solid var(--rin-blue)!important;
    border-radius:9px!important;
    background:linear-gradient(180deg,#1e86cb 0%,#1472b6 100%)!important;
    color:#fff!important;
    box-shadow:0 5px 14px rgba(22,119,189,.14)!important;
    font-weight:700!important;
}

body.rinchan-shop-theme-active .button:hover,
body.rinchan-shop-theme-active button.button:hover,
body.rinchan-shop-theme-active input.button:hover,
body.rinchan-shop-theme-active .woocommerce a.button:hover,
body.rinchan-shop-theme-active .woocommerce button.button:hover{
    background:linear-gradient(180deg,#1474b8 0%,#0e639f 100%)!important;
    transform:translateY(-1px);
}

body.rinchan-shop-theme-active input[type="text"],
body.rinchan-shop-theme-active input[type="email"],
body.rinchan-shop-theme-active input[type="password"],
body.rinchan-shop-theme-active input[type="tel"],
body.rinchan-shop-theme-active input[type="number"],
body.rinchan-shop-theme-active select,
body.rinchan-shop-theme-active textarea{
    border:1px solid #cfdfe8!important;
    border-radius:9px!important;
    background:#fff!important;
    box-shadow:none!important;
}

body.rinchan-shop-theme-active input:focus,
body.rinchan-shop-theme-active select:focus,
body.rinchan-shop-theme-active textarea:focus{
    border-color:var(--rin-blue)!important;
    box-shadow:0 0 0 3px rgba(22,119,189,.09)!important;
}

/* =========================================================
   Logged-out home
   ========================================================= */

body.rinchan-shop-theme-active.hayashi-shop-home:not(.logged-in) .inside-article{
    padding-top:26px!important;
}

body.rinchan-shop-theme-active .hayashi-public-home-v178{
    position:relative;
    overflow:hidden;
    grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr)!important;
    min-height:430px!important;
    gap:38px!important;
    padding:52px 56px!important;
    border:1px solid var(--rin-line)!important;
    border-radius:20px!important;
    background:
        linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.96) 42%,rgba(245,251,255,.83) 100%)!important;
    box-shadow:var(--rin-shadow)!important;
}

body.rinchan-shop-theme-active .hayashi-public-home-v178::before{
    content:"";
    position:absolute;
    width:260px;
    height:170px;
    left:-60px;
    bottom:-85px;
    border-radius:50%;
    background:rgba(206,235,252,.42);
}

body.rinchan-shop-theme-active .hayashi-public-home-v178::after{
    content:"";
    position:absolute;
    right:-40px;
    top:-50px;
    width:190px;
    height:150px;
    border-radius:50%;
    background:rgba(220,244,211,.42);
}

body.rinchan-shop-theme-active .hayashi-public-home-v178__text{
    position:relative;
    z-index:2;
}

body.rinchan-shop-theme-active .hayashi-public-home-v178__text h1{
    font-size:clamp(2.3rem,4vw,3.5rem)!important;
    line-height:1.18!important;
}

body.rinchan-shop-theme-active .hayashi-public-home-v178__lead{
    color:#5e6c76!important;
    font-size:1.03rem!important;
}

body.rinchan-shop-theme-active .hayashi-public-home-v178__visual{
    position:relative;
    z-index:2;
    min-height:310px!important;
    border-radius:16px;
    background-image:url("assets/rinchan-brand.png")!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    background-position:center 50%!important;
    box-shadow:0 8px 25px rgba(29,102,151,.06);
}

body.rinchan-shop-theme-active .hayashi-public-home-v178__bag{
    display:none!important;
}

/* =========================================================
   Logged-in Home hero
   ========================================================= */

body.rinchan-shop-theme-active .hayashi-home-hero{
    position:relative;
    overflow:hidden;
    min-height:320px;
    padding:52px 54px!important;
    border:1px solid var(--rin-line)!important;
    border-radius:20px!important;
    background:
        linear-gradient(90deg,#ffffff 0%,rgba(255,255,255,.96) 52%,rgba(240,249,255,.83) 100%)!important;
    box-shadow:var(--rin-shadow)!important;
    text-align:left!important;
}

body.rinchan-shop-theme-active .hayashi-home-hero::after{
    content:"";
    position:absolute;
    right:22px;
    top:20px;
    width:46%;
    height:calc(100% - 40px);
    border-radius:16px;
    background:url("assets/rinchan-brand.png") center/cover no-repeat;
    opacity:.98;
}

body.rinchan-shop-theme-active .hayashi-home-hero__inner{
    position:relative;
    z-index:2;
    max-width:48%;
}

body.rinchan-shop-theme-active .hayashi-home-hero h1{
    font-size:clamp(2.3rem,4vw,3.2rem)!important;
}

/* =========================================================
   Product archive / cards
   ========================================================= */

body.rinchan-shop-theme-active .hayashi-products-heading-v179{
    margin-bottom:24px!important;
}

body.rinchan-shop-theme-active .hayashi-products-heading-v179 h1{
    font-size:2.4rem!important;
}

.rinchan-category-nav{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin:0 0 26px;
}

.rinchan-category-nav a{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:0 15px;
    border:1px solid var(--rin-line);
    border-radius:999px;
    background:#fff;
    color:var(--rin-text);
    text-decoration:none;
    font-size:.88rem;
    font-weight:700;
}

.rinchan-category-nav a:hover,
.rinchan-category-nav a.is-current{
    border-color:var(--rin-blue);
    background:var(--rin-blue);
    color:#fff;
}

body.rinchan-shop-theme-active ul.products{
    gap:22px!important;
}

body.rinchan-shop-theme-active ul.products li.product{
    border:1px solid var(--rin-line)!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 6px 22px rgba(32,87,122,.05)!important;
}

body.rinchan-shop-theme-active ul.products li.product:hover{
    transform:translateY(-3px)!important;
    box-shadow:0 12px 28px rgba(32,87,122,.09)!important;
}

body.rinchan-shop-theme-active ul.products li.product a img{
    background:#f7fbfd!important;
}

body.rinchan-shop-theme-active ul.products li.product .woocommerce-loop-product__title{
    color:var(--rin-ink)!important;
}

body.rinchan-shop-theme-active .hayashi-price-staff .hayashi-price-label{
    color:var(--rin-blue)!important;
}

body.rinchan-shop-theme-active .hayashi-stock-ok{
    border-color:#b7dfc7!important;
    background:#f0fbf4!important;
    color:#25824c!important;
}

/* =========================================================
   Single product
   ========================================================= */

body.rinchan-shop-theme-active.hayashi-shop-product .woocommerce-product-gallery{
    border:1px solid var(--rin-line)!important;
    box-shadow:var(--rin-shadow);
}

body.rinchan-shop-theme-active.hayashi-shop-product .summary{
    padding:18px 0 0!important;
}

body.rinchan-shop-theme-active.hayashi-shop-product .summary .product_title{
    font-size:2.7rem!important;
}

body.rinchan-shop-theme-active.hayashi-shop-product .woocommerce-tabs ul.tabs{
    border-bottom:1px solid var(--rin-line)!important;
}

/* =========================================================
   Cart / Checkout / Account
   ========================================================= */

body.rinchan-shop-theme-active .hayashi-purchase-progress__item.is-current .hayashi-purchase-progress__dot{
    background:var(--rin-blue)!important;
    border-color:var(--rin-blue)!important;
}

body.rinchan-shop-theme-active .hayashi-purchase-progress__item.is-complete .hayashi-purchase-progress__dot{
    background:var(--rin-blue-soft)!important;
    color:var(--rin-blue-dark)!important;
}

body.rinchan-shop-theme-active.hayashi-shop-cart .woocommerce table.shop_table,
body.rinchan-shop-theme-active.hayashi-shop-checkout #customer_details,
body.rinchan-shop-theme-active.hayashi-shop-checkout #order_review,
body.rinchan-shop-theme-active.hayashi-shop-account .woocommerce-MyAccount-content,
body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in) #customer_login > .u-column1,
body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in) #customer_login > .u-column2{
    border-color:var(--rin-line)!important;
    border-radius:14px!important;
    box-shadow:0 8px 26px rgba(32,87,122,.05)!important;
}

body.rinchan-shop-theme-active.hayashi-shop-checkout #payment ul.payment_methods li.payment_method_hayashi_cash_pickup{
    border:1px solid var(--rin-line)!important;
    border-radius:10px!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
}

body.rinchan-shop-theme-active.hayashi-shop-checkout #payment ul.payment_methods li.payment_method_hayashi_cash_pickup > label{
    background:#f0f7fb!important;
    color:var(--rin-ink)!important;
}

body.rinchan-shop-theme-active.hayashi-shop-checkout #payment .payment_method_hayashi_cash_pickup .payment_box{
    border-top:1px solid var(--rin-line)!important;
}

/* =========================================================
   Notices
   ========================================================= */

body.rinchan-shop-theme-active .woocommerce-message,
body.rinchan-shop-theme-active .woocommerce-info,
body.rinchan-shop-theme-active .woocommerce-error{
    border-color:var(--rin-line)!important;
    border-radius:10px!important;
    background:#fff!important;
}

/* =========================================================
   Footer
   ========================================================= */

body.rinchan-shop-theme-active .site-footer{
    position:relative;
    overflow:hidden;
    margin-top:58px;
    border-top:0!important;
    background:linear-gradient(180deg,#1179bf 0%,#0864a6 100%)!important;
    color:#fff!important;
}

body.rinchan-shop-theme-active .site-footer::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 7% 20%,rgba(255,255,255,.15),transparent 14%),
        radial-gradient(circle at 92% 75%,rgba(255,255,255,.12),transparent 15%);
    pointer-events:none;
}

body.rinchan-shop-theme-active .site-info{
    position:relative;
    z-index:2;
    background:transparent!important;
    color:#fff!important;
}

body.rinchan-shop-theme-active .site-info a{
    color:#fff!important;
}

/* =========================================================
   Responsive
   ========================================================= */

@media(max-width:1020px){
    .rinchan-brand-link{
        width:305px;
        height:72px;
    }

    body.rinchan-shop-theme-active .inside-header{
        min-height:90px;
    }
}

@media(max-width:820px){
    body.rinchan-shop-theme-active .site-content{
        padding-left:18px;
        padding-right:18px;
    }

    .rinchan-brand-link{
        width:250px;
        height:64px;
    }

    body.rinchan-shop-theme-active .hayashi-public-home-v178{
        grid-template-columns:1fr!important;
        padding:32px 24px!important;
    }

    body.rinchan-shop-theme-active .hayashi-public-home-v178__visual{
        min-height:250px!important;
    }

    body.rinchan-shop-theme-active .hayashi-home-hero{
        padding:34px 24px!important;
    }

    body.rinchan-shop-theme-active .hayashi-home-hero::after{
        position:relative;
        display:block;
        right:auto;
        top:auto;
        width:100%;
        height:250px;
        margin-top:24px;
    }

    body.rinchan-shop-theme-active .hayashi-home-hero__inner{
        max-width:100%;
    }
}

@media(max-width:560px){
    .rinchan-brand-link{
        width:220px;
        height:58px;
    }

    body.rinchan-shop-theme-active .inside-header{
        padding-left:14px;
        padding-right:14px;
    }

    body.rinchan-shop-theme-active .main-navigation .main-nav > ul > li > a{
        font-size:.95rem!important;
    }
}


/* =========================================================
   v1.0.1 Typography / checkout field sizing / detail links
   ========================================================= */

/* Logged-out home: headline should stay on one line on desktop */
body.rinchan-shop-theme-active .hayashi-public-home-v178__text h1{
    font-size:clamp(1.9rem,3vw,2.55rem)!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    letter-spacing:.01em!important;
}

/* Logged-in home hero headline */
body.rinchan-shop-theme-active .hayashi-home-hero h1{
    font-size:clamp(1.9rem,3vw,2.55rem)!important;
    line-height:1.25!important;
    white-space:nowrap!important;
}

/* Product detail: product name should not dominate the page */
body.rinchan-shop-theme-active.hayashi-shop-product .summary .product_title{
    font-size:clamp(1.75rem,2.5vw,2.25rem)!important;
    line-height:1.28!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
}

/* Product card titles */
body.rinchan-shop-theme-active ul.products li.product .woocommerce-loop-product__title{
    font-size:1.02rem!important;
    line-height:1.4!important;
    min-height:2.8em;
}

/* Checkout first name / last name: exactly half width each */
body.rinchan-shop-theme-active.hayashi-shop-checkout .woocommerce-billing-fields__field-wrapper{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:18px!important;
}

body.rinchan-shop-theme-active.hayashi-shop-checkout #billing_last_name_field,
body.rinchan-shop-theme-active.hayashi-shop-checkout #billing_first_name_field{
    grid-column:auto!important;
    width:100%!important;
    max-width:none!important;
    float:none!important;
}

body.rinchan-shop-theme-active.hayashi-shop-checkout #billing_last_name_field input,
body.rinchan-shop-theme-active.hayashi-shop-checkout #billing_first_name_field input{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
}

/* Phone and email take full row */
body.rinchan-shop-theme-active.hayashi-shop-checkout #billing_phone_field,
body.rinchan-shop-theme-active.hayashi-shop-checkout #billing_email_field{
    grid-column:1 / -1!important;
}

/* Product-list detail button is a navigation button, not add-to-cart */
body.rinchan-shop-theme-active ul.products li.product a.rinchan-view-product{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:calc(100% - 32px)!important;
    min-height:46px!important;
    margin:10px 16px 0!important;
    padding:0 16px!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-align:center!important;
}

/* Slightly more compact product-detail summary */
body.rinchan-shop-theme-active.hayashi-shop-product .summary{
    padding-top:10px!important;
}

@media(max-width:820px){
    body.rinchan-shop-theme-active .hayashi-public-home-v178__text h1,
    body.rinchan-shop-theme-active .hayashi-home-hero h1{
        white-space:normal!important;
        font-size:2rem!important;
    }
}

@media(max-width:700px){
    body.rinchan-shop-theme-active.hayashi-shop-checkout .woocommerce-billing-fields__field-wrapper{
        grid-template-columns:1fr!important;
    }

    body.rinchan-shop-theme-active.hayashi-shop-checkout #billing_phone_field,
    body.rinchan-shop-theme-active.hayashi-shop-checkout #billing_email_field{
        grid-column:auto!important;
    }
}

/* =========================================================
   v1.0.2 Mobile compact layout
   - remove excess white space below the mobile header
   - widen the usable content area on phones
   ========================================================= */

@media(max-width:820px){
    body.rinchan-shop-theme-active .site-content{
        max-width:none!important;
        width:100%!important;
        padding-left:8px!important;
        padding-right:8px!important;
    }

    body.rinchan-shop-theme-active .inside-article{
        padding-left:10px!important;
        padding-right:10px!important;
        padding-top:24px!important;
        padding-bottom:42px!important;
    }

    body.rinchan-shop-theme-active .hayashi-public-home-v178,
    body.rinchan-shop-theme-active .hayashi-home-hero{
        width:100%!important;
        max-width:none!important;
        margin-left:0!important;
        margin-right:0!important;
    }
}

@media(max-width:560px){
    body.rinchan-shop-theme-active .site-header{
        min-height:0!important;
        height:auto!important;
        margin:0!important;
        padding:0!important;
    }

    body.rinchan-shop-theme-active .inside-header{
        min-height:70px!important;
        height:auto!important;
        margin:0 auto!important;
        padding:6px 8px!important;
        align-items:center!important;
        row-gap:0!important;
    }

    body.rinchan-shop-theme-active .site-branding,
    body.rinchan-shop-theme-active .main-title{
        margin:0!important;
        padding:0!important;
        line-height:1!important;
    }

    .rinchan-brand-link{
        width:min(232px,72vw)!important;
        height:58px!important;
        margin:0!important;
    }

    body.rinchan-shop-theme-active .main-navigation,
    body.rinchan-shop-theme-active .main-navigation .inside-navigation{
        min-height:0!important;
        margin:0!important;
    }

    body.rinchan-shop-theme-active .main-navigation .menu-toggle{
        min-height:52px!important;
        height:52px!important;
        padding:0 14px!important;
        margin:0!important;
    }

    body.rinchan-shop-theme-active .site-content{
        padding-left:6px!important;
        padding-right:6px!important;
    }

    body.rinchan-shop-theme-active .inside-article{
        padding-left:8px!important;
        padding-right:8px!important;
        padding-top:20px!important;
    }

    body.rinchan-shop-theme-active.hayashi-shop-home:not(.logged-in) .inside-article{
        padding-top:18px!important;
    }

    body.rinchan-shop-theme-active .hayashi-public-home-v178{
        padding:24px 16px!important;
        border-radius:16px!important;
    }

    body.rinchan-shop-theme-active .hayashi-home-hero{
        padding:26px 16px!important;
        border-radius:16px!important;
    }
}


/* =========================================================
   v1.0.3 Header simplification
   - simple logo: mascot + text only
   - circular mobile menu button aligned to the right edge
   ========================================================= */

.rinchan-brand-link{
    display:inline-flex;
    align-items:center;
    gap:12px;
    width:auto;
    height:auto;
    overflow:visible;
    border-radius:0;
    text-decoration:none;
    flex:0 1 auto;
    min-width:0;
    max-width:100%;
}

.rinchan-brand-mark{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:62px;
    height:62px;
    flex:0 0 62px;
}

.rinchan-brand-icon{
    display:block;
    width:100%;
    height:auto;
}

.rinchan-brand-text{
    display:block;
    color:var(--rin-ink);
    font-size:2rem;
    font-weight:800;
    line-height:1.1;
    letter-spacing:.01em;
    white-space:nowrap;
}

body.rinchan-shop-theme-active .inside-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

body.rinchan-shop-theme-active .main-navigation{
    margin-left:auto;
}

body.rinchan-shop-theme-active .menu-toggle,
body.rinchan-shop-theme-active button.menu-toggle{
    border:1px solid var(--rin-line)!important;
    border-radius:999px!important;
    background:#fff!important;
    box-shadow:0 6px 18px rgba(31,95,136,.08)!important;
}

body.rinchan-shop-theme-active .menu-toggle:hover,
body.rinchan-shop-theme-active button.menu-toggle:hover{
    border-color:#c9dce7!important;
    background:#fff!important;
}

@media(max-width:1020px){
    .rinchan-brand-mark{
        width:56px;
        height:56px;
        flex-basis:56px;
    }

    .rinchan-brand-text{
        font-size:1.75rem;
    }
}

@media(max-width:560px){
    body.rinchan-shop-theme-active .inside-header{
        min-height:68px!important;
        padding:6px 10px!important;
        gap:10px!important;
    }

    body.rinchan-shop-theme-active .site-branding,
    body.rinchan-shop-theme-active .main-title{
        flex:1 1 auto;
        min-width:0;
    }

    .rinchan-brand-link{
        gap:8px;
        width:auto!important;
        max-width:calc(100vw - 92px);
    }

    .rinchan-brand-mark{
        width:44px;
        height:44px;
        flex:0 0 44px;
    }

    .rinchan-brand-text{
        font-size:1.06rem;
        line-height:1.15;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    body.rinchan-shop-theme-active .main-navigation,
    body.rinchan-shop-theme-active .main-navigation .inside-navigation{
        display:flex!important;
        align-items:center!important;
        justify-content:flex-end!important;
    }

    body.rinchan-shop-theme-active .main-navigation{
        margin-left:auto!important;
        flex:0 0 auto;
    }

    body.rinchan-shop-theme-active .main-navigation .menu-toggle,
    body.rinchan-shop-theme-active .main-navigation button.menu-toggle{
        width:48px!important;
        min-width:48px!important;
        height:48px!important;
        min-height:48px!important;
        padding:0!important;
        margin:0 0 0 auto!important;
        border-radius:999px!important;
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
    }

    body.rinchan-shop-theme-active .main-navigation .menu-toggle .gp-icon,
    body.rinchan-shop-theme-active .main-navigation .menu-toggle svg{
        width:20px!important;
        height:20px!important;
    }
}


/* =========================================================
   v1.0.4 Header icon + mobile menu fix
   - use provided Rinchan face illustration in header
   - ensure only one hamburger/close icon is shown
   - hide label text and keep the control circular
   ========================================================= */

.rinchan-brand-mark{
    width:56px;
    height:56px;
    flex:0 0 56px;
}

.rinchan-brand-icon{
    width:100%;
    height:100%;
    object-fit:contain;
}

body.rinchan-shop-theme-active .main-navigation .menu-toggle,
body.rinchan-shop-theme-active .main-navigation button.menu-toggle{
    overflow:hidden!important;
    font-size:0!important;
    line-height:0!important;
    color:var(--rin-ink)!important;
}

body.rinchan-shop-theme-active .main-navigation .menu-toggle .mobile-menu,
body.rinchan-shop-theme-active .main-navigation button.menu-toggle .mobile-menu,
body.rinchan-shop-theme-active .main-navigation .menu-toggle .screen-reader-text,
body.rinchan-shop-theme-active .main-navigation button.menu-toggle .screen-reader-text{
    display:none!important;
}

body.rinchan-shop-theme-active .main-navigation .menu-toggle .gp-icon,
body.rinchan-shop-theme-active .main-navigation button.menu-toggle .gp-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:20px!important;
    height:20px!important;
    margin:0!important;
}

body.rinchan-shop-theme-active .main-navigation .menu-toggle .gp-icon svg,
body.rinchan-shop-theme-active .main-navigation button.menu-toggle .gp-icon svg{
    width:20px!important;
    height:20px!important;
    display:none!important;
}

body.rinchan-shop-theme-active .main-navigation .menu-toggle .gp-icon svg:first-child,
body.rinchan-shop-theme-active .main-navigation button.menu-toggle .gp-icon svg:first-child{
    display:block!important;
}

body.rinchan-shop-theme-active .main-navigation .menu-toggle.toggled .gp-icon svg:first-child,
body.rinchan-shop-theme-active .main-navigation button.menu-toggle.toggled .gp-icon svg:first-child,
body.rinchan-shop-theme-active .main-navigation .menu-toggle[aria-expanded="true"] .gp-icon svg:first-child,
body.rinchan-shop-theme-active .main-navigation button.menu-toggle[aria-expanded="true"] .gp-icon svg:first-child{
    display:none!important;
}

body.rinchan-shop-theme-active .main-navigation .menu-toggle.toggled .gp-icon svg:last-child,
body.rinchan-shop-theme-active .main-navigation button.menu-toggle.toggled .gp-icon svg:last-child,
body.rinchan-shop-theme-active .main-navigation .menu-toggle[aria-expanded="true"] .gp-icon svg:last-child,
body.rinchan-shop-theme-active .main-navigation button.menu-toggle[aria-expanded="true"] .gp-icon svg:last-child{
    display:block!important;
}

body.rinchan-shop-theme-active .main-navigation .menu-toggle:before,
body.rinchan-shop-theme-active .main-navigation .menu-toggle:after,
body.rinchan-shop-theme-active .main-navigation button.menu-toggle:before,
body.rinchan-shop-theme-active .main-navigation button.menu-toggle:after{
    content:none!important;
}

body.rinchan-shop-theme-active .slideout-navigation button.slideout-exit,
body.rinchan-shop-theme-active .slideout-navigation .slideout-exit{
    border:1px solid var(--rin-line)!important;
    border-radius:999px!important;
    background:#fff!important;
    box-shadow:0 6px 18px rgba(31,95,136,.08)!important;
}

@media(max-width:560px){
    .rinchan-brand-mark{
        width:42px!important;
        height:42px!important;
        flex:0 0 42px!important;
    }

    .rinchan-brand-text{
        font-size:0.98rem!important;
    }

    body.rinchan-shop-theme-active .main-navigation .menu-toggle,
    body.rinchan-shop-theme-active .main-navigation button.menu-toggle{
        position:relative!important;
        z-index:30!important;
        width:46px!important;
        min-width:46px!important;
        height:46px!important;
        min-height:46px!important;
        padding:0!important;
        margin:0!important;
    }

    body.rinchan-shop-theme-active .inside-header{
        padding-right:10px!important;
    }
}


/* =========================================================
   v1.0.5 Mobile menu single-toggle fix
   - keep only one menu toggle
   - prevent open menu from stretching header height
   ========================================================= */

body.rinchan-shop-theme-active .main-navigation .slideout-exit,
body.rinchan-shop-theme-active .slideout-navigation .slideout-exit,
body.rinchan-shop-theme-active .slideout-navigation button.slideout-exit,
body.rinchan-shop-theme-active .main-navigation button.slideout-exit{
    display:none!important;
}

@media(max-width:768px){
    body.rinchan-shop-theme-active .site-header,
    body.rinchan-shop-theme-active .inside-header,
    body.rinchan-shop-theme-active .main-navigation,
    body.rinchan-shop-theme-active .main-navigation .inside-navigation{
        overflow:visible!important;
    }

    body.rinchan-shop-theme-active .inside-header{
        align-items:center!important;
    }

    body.rinchan-shop-theme-active .main-navigation{
        position:static!important;
        flex:0 0 auto!important;
        margin-left:auto!important;
    }

    body.rinchan-shop-theme-active .main-navigation .inside-navigation{
        position:static!important;
        min-height:0!important;
        padding:0!important;
    }

    body.rinchan-shop-theme-active .main-navigation:not(.toggled) .main-nav{
        display:none!important;
    }

    body.rinchan-shop-theme-active .main-navigation.toggled .main-nav{
        display:block!important;
        position:fixed!important;
        top:78px!important;
        left:12px!important;
        right:12px!important;
        width:auto!important;
        max-width:none!important;
        z-index:9998!important;
        margin:0!important;
        padding:18px 20px!important;
        border:1px solid var(--rin-line)!important;
        border-radius:22px!important;
        background:#fff!important;
        box-shadow:0 18px 44px rgba(31,95,136,.14)!important;
    }

    body.rinchan-shop-theme-active .main-navigation.toggled .main-nav > ul,
    body.rinchan-shop-theme-active .main-navigation.toggled .main-nav ul{
        display:flex!important;
        flex-direction:column!important;
        align-items:flex-start!important;
        gap:4px!important;
        margin:0!important;
        padding:0!important;
    }

    body.rinchan-shop-theme-active .main-navigation.toggled .main-nav ul li{
        width:100%!important;
        margin:0!important;
    }

    body.rinchan-shop-theme-active .main-navigation.toggled .main-nav > ul > li > a,
    body.rinchan-shop-theme-active .main-navigation.toggled .main-nav ul li a{
        display:flex!important;
        align-items:center!important;
        width:100%!important;
        min-height:0!important;
        padding:12px 0!important;
        line-height:1.4!important;
        font-size:1.1rem!important;
        text-align:left!important;
    }

    body.rinchan-shop-theme-active .main-navigation.toggled .main-nav > ul > li.current-menu-item > a::after,
    body.rinchan-shop-theme-active .main-navigation.toggled .main-nav > ul > li.current_page_item > a::after,
    body.rinchan-shop-theme-active .main-navigation.toggled .main-nav > ul > li.hayashi-current-menu > a::after{
        left:0!important;
        right:auto!important;
        bottom:8px!important;
        width:56px!important;
    }

    body.rinchan-shop-theme-active .main-navigation.toggled .main-nav ul li.hayashi-header-cart,
    body.rinchan-shop-theme-active .main-navigation.toggled .main-nav ul li.hayashi-session-menu{
        margin-left:0!important;
        padding-left:0!important;
    }

    body.rinchan-shop-theme-active .main-navigation.toggled .main-nav ul li.hayashi-header-cart::before{
        display:none!important;
    }

    body.rinchan-shop-theme-active .main-navigation.toggled .hayashi-header-cart__link{
        justify-content:flex-start!important;
    }
}


/* =========================================================
   v1.0.6 One mobile menu button only
   ========================================================= */

@media(max-width:768px){
    /* Do not force every GeneratePress navigation instance visible. */
    body.rinchan-shop-theme-active .main-navigation{
        flex:0 0 auto!important;
    }

    /* Keep the header itself compact regardless of menu state. */
    body.rinchan-shop-theme-active .site-header,
    body.rinchan-shop-theme-active .inside-header{
        min-height:68px!important;
        height:auto!important;
    }

    body.rinchan-shop-theme-active .inside-header{
        flex-wrap:nowrap!important;
    }

    /* The menu panel floats below the header and never contributes to header height. */
    body.rinchan-shop-theme-active .main-navigation.toggled .main-nav{
        position:fixed!important;
        top:76px!important;
        left:12px!important;
        right:12px!important;
        max-height:calc(100vh - 92px)!important;
        overflow:auto!important;
    }
}


/* =========================================================
   v1.0.7 Account registration clarity
   ========================================================= */

/* Keep the short account description on one line. */
body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in) .hayashi-account-intro > p:last-child{
    white-space:nowrap!important;
    font-size:clamp(.72rem,3.05vw,1rem)!important;
    line-height:1.45!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

/* Make successful registration visually unmistakable. */
body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in) .woocommerce-message.rinchan-registration-success{
    position:relative!important;
    padding:18px 18px 18px 52px!important;
    border:1px solid #a9d8b8!important;
    border-left:5px solid #42a66b!important;
    border-radius:14px!important;
    background:#eefaf3!important;
    color:#245f3e!important;
    box-shadow:0 8px 24px rgba(54,126,82,.08)!important;
    font-weight:700!important;
}

body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in) .woocommerce-message.rinchan-registration-success::before{
    content:"✓"!important;
    position:absolute!important;
    left:18px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:24px!important;
    height:24px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:50%!important;
    background:#42a66b!important;
    color:#fff!important;
    font-size:.9rem!important;
    line-height:1!important;
}

body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in) .rinchan-registration-nextstep{
    display:flex;
    flex-direction:column;
    gap:5px;
    margin:12px 0 26px;
    padding:16px 18px;
    border:1px solid #d6eadc;
    border-radius:14px;
    background:#fbfefc;
    color:#394651;
}

body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in) .rinchan-registration-nextstep strong{
    color:#245f3e;
    font-size:1rem;
}

/* After successful registration, remove the now-unnecessary registration form.
   Keep the login panel available for the user's next visit after password setup. */
body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in).rinchan-registration-complete #customer_login > .u-column2{
    display:none!important;
}

body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in).rinchan-registration-complete #customer_login{
    display:block!important;
}

body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in).rinchan-registration-complete #customer_login > .u-column1{
    width:100%!important;
    max-width:680px!important;
    margin:0 auto!important;
    float:none!important;
}

@media(max-width:560px){
    body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in) .hayashi-account-intro > p:last-child{
        font-size:clamp(.68rem,3vw,.82rem)!important;
        letter-spacing:-.01em!important;
    }

    body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in) .woocommerce-message.rinchan-registration-success{
        padding:16px 14px 16px 46px!important;
    }

    body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in) .woocommerce-message.rinchan-registration-success::before{
        left:14px!important;
    }
}


/* v1.0.8 approval-waiting registration state */
body.rinchan-shop-theme-active .rinchan-registration-success{
    display:flex!important;
    align-items:flex-start!important;
    gap:12px!important;
}
body.rinchan-shop-theme-active .rinchan-registration-success .rinchan-success-check{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 30px!important;
    width:30px!important;
    height:30px!important;
    margin-top:2px!important;
    border-radius:50%!important;
    background:#58af72!important;
    color:#fff!important;
    font-weight:800!important;
}


/* =========================================================
   v1.0.9 Registration completion cleanup
   - only one check icon
   - only one approval-waiting explanation
   ========================================================= */
body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in) .woocommerce-message.rinchan-registration-success::before{
    content:none!important;
    display:none!important;
}

body.rinchan-shop-theme-active .rinchan-registration-nextstep{
    display:none!important;
}

body.rinchan-shop-theme-active .rinchan-registration-success .rinchan-success-check{
    flex:0 0 30px!important;
    width:30px!important;
    height:30px!important;
    margin:1px 0 0!important;
}


/* =========================================================
   v1.0.10 Login error focus
   - after a failed login attempt, show only the login panel
   - registration validation errors still show the registration panel
   ========================================================= */
body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in).rinchan-login-attempt-error #customer_login > .u-column2{
    display:none!important;
}

body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in).rinchan-login-attempt-error #customer_login{
    display:block!important;
    grid-template-columns:1fr!important;
}

body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in).rinchan-login-attempt-error #customer_login > .u-column1{
    width:100%!important;
    max-width:720px!important;
    margin:0 auto!important;
}

body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in).rinchan-login-attempt-error .woocommerce-error,
body.rinchan-shop-theme-active.hayashi-shop-account:not(.logged-in).rinchan-login-attempt-error .woocommerce-notices-wrapper{
    max-width:720px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}


/* =========================================================
   v1.0.11 My Account redesign / approval state
   ========================================================= */

body.rinchan-shop-theme-active.hayashi-shop-account.logged-in .woocommerce-MyAccount-content{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
}

.rinchan-account-dashboard{
    display:flex;
    flex-direction:column;
    gap:22px;
}

.rinchan-account-welcome,
.rinchan-account-status-card{
    padding:28px 30px;
    border:1px solid var(--rin-line);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--rin-shadow);
}

.rinchan-account-welcome__eyebrow{
    margin:0 0 8px;
    color:var(--rin-blue);
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.16em;
}

.rinchan-account-welcome h2,
.rinchan-account-status-card h2{
    margin:0 0 10px;
    font-size:clamp(1.55rem,3vw,2rem);
    line-height:1.3;
}

.rinchan-account-welcome p,
.rinchan-account-status-card p{
    margin:0;
    color:var(--rin-muted);
    line-height:1.8;
}

.rinchan-account-status-card{
    position:relative;
    overflow:hidden;
    padding-left:88px;
}

.rinchan-account-status-card__icon{
    position:absolute;
    left:28px;
    top:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:50%;
    font-size:1.15rem;
    font-weight:800;
}

.rinchan-account-status-card--pending{
    border-color:#d7e8f2;
    background:linear-gradient(135deg,#fff 0%,#f3faff 100%);
}
.rinchan-account-status-card--pending .rinchan-account-status-card__icon{
    background:#e4f3fd;
    color:var(--rin-blue-dark);
}

.rinchan-account-status-card--rejected{
    border-color:#f1d5d5;
    background:#fffafa;
}
.rinchan-account-status-card--rejected .rinchan-account-status-card__icon{
    background:#fdecec;
    color:#b34747;
}

.rinchan-account-status-card__note{
    margin-top:14px!important;
    padding-top:14px;
    border-top:1px solid rgba(86,128,153,.15);
    color:var(--rin-text)!important;
    font-size:.94rem;
}

.rinchan-account-actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.rinchan-account-action{
    display:flex;
    flex-direction:column;
    gap:7px;
    min-height:126px;
    padding:22px;
    border:1px solid var(--rin-line);
    border-radius:18px;
    background:#fff;
    color:var(--rin-ink)!important;
    text-decoration:none!important;
    box-shadow:0 5px 18px rgba(32,87,122,.045);
}

.rinchan-account-action:hover{
    border-color:#bfddea;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(32,87,122,.08);
}

.rinchan-account-action strong{
    font-size:1.05rem;
}
.rinchan-account-action span{
    color:var(--rin-muted);
    font-size:.88rem;
    line-height:1.5;
}

.rinchan-account-logout{
    margin-top:2px;
    text-align:right;
}
.rinchan-account-logout a{
    color:var(--rin-muted)!important;
    font-size:.9rem;
}

body.hayashi-approval-pending .woocommerce-MyAccount-navigation,
body.hayashi-approval-rejected .woocommerce-MyAccount-navigation{
    display:none!important;
}
body.hayashi-approval-pending .woocommerce-MyAccount-content,
body.hayashi-approval-rejected .woocommerce-MyAccount-content{
    width:100%!important;
    float:none!important;
}

@media(max-width:700px){
    .rinchan-account-welcome,
    .rinchan-account-status-card{
        padding:22px 20px;
        border-radius:16px;
    }
    .rinchan-account-status-card{
        padding-left:68px;
    }
    .rinchan-account-status-card__icon{
        left:20px;
        top:22px;
        width:34px;
        height:34px;
    }
    .rinchan-account-actions{
        grid-template-columns:1fr;
    }
    .rinchan-account-action{
        min-height:0;
        padding:18px;
    }
}


/* =========================================================
   v1.0.12 Approval-state correction + styled front page
   ========================================================= */
body.rinchan-shop-theme-active.home .entry-header,
body.rinchan-shop-theme-active.home .page-header{
    display:none!important;
}

body.rinchan-shop-theme-active.home .inside-article{
    padding-top:24px!important;
}

.rinchan-front-dashboard{
    width:100%;
    max-width:1080px;
    margin:0 auto;
}

.rinchan-front-hero,
.rinchan-front-status{
    position:relative;
    overflow:hidden;
    border:1px solid var(--rin-line);
    border-radius:24px;
    background:linear-gradient(135deg,#fff 0%,#f6fbff 72%,#f3faed 100%);
    box-shadow:var(--rin-shadow);
}

.rinchan-front-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) 230px;
    align-items:center;
    gap:30px;
    min-height:300px;
    padding:48px 54px;
}

.rinchan-front-hero__copy{position:relative;z-index:2}
.rinchan-front-eyebrow{
    margin:0 0 12px!important;
    color:var(--rin-blue)!important;
    font-size:.8rem!important;
    font-weight:800!important;
    letter-spacing:.18em!important;
}
.rinchan-front-hero h1,
.rinchan-front-status h1{
    margin:0 0 16px!important;
    color:var(--rin-ink)!important;
    font-size:clamp(2rem,4vw,3.1rem)!important;
    line-height:1.2!important;
}
.rinchan-front-hero__copy > p:not(.rinchan-front-eyebrow){
    max-width:650px;
    margin:0!important;
    color:var(--rin-muted)!important;
    font-size:1.05rem!important;
    line-height:1.8!important;
}
.rinchan-front-hero__buttons{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    margin-top:28px;
}
.rinchan-front-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 20px;
    border:1px solid #cfe1ec;
    border-radius:12px;
    background:#fff;
    color:var(--rin-blue)!important;
    text-decoration:none!important;
    font-weight:700;
}
.rinchan-front-hero__mascot{
    display:flex;
    align-items:center;
    justify-content:center;
    width:220px;
    height:220px;
    border-radius:50%;
    background:rgba(255,255,255,.78);
}
.rinchan-front-hero__mascot img{
    width:78%;
    height:78%;
    object-fit:contain;
}
.rinchan-front-quicklinks{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:20px;
}
.rinchan-front-quicklinks a{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-height:105px;
    padding:22px 24px;
    border:1px solid var(--rin-line);
    border-radius:18px;
    background:#fff;
    color:var(--rin-ink)!important;
    text-decoration:none!important;
    box-shadow:0 5px 18px rgba(31,95,136,.05);
}
.rinchan-front-quicklinks strong{font-size:1.05rem}
.rinchan-front-quicklinks span{color:var(--rin-muted);font-size:.9rem}

.rinchan-front-status{
    max-width:760px;
    margin:22px auto 0;
    padding:48px 52px;
    text-align:center;
}
.rinchan-front-status__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:64px;
    height:64px;
    margin-bottom:18px;
    border-radius:50%;
    background:#edf7fd;
    color:var(--rin-blue);
    font-size:2rem;
    font-weight:800;
}
.rinchan-front-status--pending .rinchan-front-status__icon{background:#fff6df;color:#b77900}
.rinchan-front-status--rejected .rinchan-front-status__icon{background:#fff0f0;color:#b33b3b}
.rinchan-front-status > p:not(.rinchan-front-eyebrow){
    margin:0 auto 14px!important;
    max-width:620px;
    line-height:1.8!important;
}
.rinchan-front-status__note{
    padding:14px 16px;
    border-radius:12px;
    background:#fff;
    color:var(--rin-muted)!important;
}

@media(max-width:700px){
    body.rinchan-shop-theme-active.home .inside-article{padding-top:14px!important}
    .rinchan-front-dashboard{padding:0 2px}
    .rinchan-front-hero{
        grid-template-columns:1fr;
        gap:16px;
        min-height:0;
        padding:28px 22px;
    }
    .rinchan-front-hero h1,
    .rinchan-front-status h1{font-size:1.9rem!important}
    .rinchan-front-hero__mascot{
        width:150px;
        height:150px;
        margin:0 auto;
        order:-1;
    }
    .rinchan-front-quicklinks{grid-template-columns:1fr}
    .rinchan-front-quicklinks a{min-height:82px;padding:18px 20px}
    .rinchan-front-status{padding:34px 22px}
}


/* =========================================================
   v1.0.13 Registration flow / My Account cleanup
   ========================================================= */

.rinchan-registration-guide{
    margin:0 0 28px;
    padding:24px 26px;
    border:1px solid #d9e9f2;
    border-left:5px solid var(--rin-blue);
    border-radius:0 18px 18px 0;
    background:linear-gradient(135deg,#f3f9fd 0%,#f8fcff 100%);
}
.rinchan-registration-guide__eyebrow,
.rinchan-account-kicker{
    margin:0 0 6px!important;
    color:var(--rin-blue)!important;
    font-size:.78rem!important;
    font-weight:800!important;
    letter-spacing:.14em!important;
}
.rinchan-registration-guide h2{
    margin:0 0 8px!important;
    font-size:1.25rem!important;
}
.rinchan-registration-guide__copy > p:last-child{
    margin:0!important;
    color:var(--rin-text)!important;
    line-height:1.7!important;
}
.rinchan-registration-steps{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:20px 0 16px!important;
    padding:0!important;
    list-style:none!important;
}
.rinchan-registration-steps li{
    display:grid;
    grid-template-columns:32px 1fr;
    grid-template-rows:auto auto;
    column-gap:9px;
    align-items:center;
    min-width:0;
    padding:13px 12px;
    border:1px solid #dceaf2;
    border-radius:13px;
    background:#fff;
}
.rinchan-registration-steps li > span{
    grid-row:1 / 3;
    display:flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:var(--rin-blue-soft);
    color:var(--rin-blue-dark);
    font-size:.84rem;
    font-weight:800;
}
.rinchan-registration-steps strong{
    color:var(--rin-ink);
    font-size:.89rem;
    line-height:1.25;
}
.rinchan-registration-steps small{
    margin-top:2px;
    color:var(--rin-muted);
    font-size:.72rem;
    line-height:1.3;
}
.rinchan-registration-guide__login{
    margin:0!important;
    padding-top:14px;
    border-top:1px solid #dceaf2;
    color:var(--rin-text)!important;
    font-weight:600;
}
.rinchan-registration-guide__login a{
    display:inline-flex;
    align-items:center;
    margin-left:5px;
    color:var(--rin-blue)!important;
    font-weight:800;
    text-decoration:underline;
    text-underline-offset:3px;
}
#rinchan-login-panel{
    scroll-margin-top:100px;
}

/* Downloads are intentionally unavailable for now. */
body.rinchan-shop-theme-active .woocommerce-MyAccount-navigation-link--downloads{
    display:none!important;
}

/* Dashboard: remove WooCommerce's generic helper paragraphs only on dashboard. */
body.rinchan-shop-theme-active.rinchan-account-dashboard-page .woocommerce-MyAccount-content > p{
    display:none!important;
}
body.rinchan-shop-theme-active.rinchan-account-dashboard-page .hayashi-account-shop-link{
    display:none!important;
}
.rinchan-account-overview,
.rinchan-account-state{
    padding:28px 30px;
    border:1px solid var(--rin-line);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--rin-shadow);
}
.rinchan-account-overview h2,
.rinchan-account-state h2{
    margin:0 0 8px!important;
    font-size:clamp(1.55rem,3vw,2rem)!important;
}
.rinchan-account-overview > p:last-of-type,
.rinchan-account-state p{
    color:var(--rin-muted);
}
.rinchan-account-overview__actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:13px;
    margin-top:22px;
}
.rinchan-account-overview__actions a{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:20px;
    border:1px solid var(--rin-line);
    border-radius:16px;
    background:#fbfdff;
    color:var(--rin-ink)!important;
    text-decoration:none!important;
}
.rinchan-account-overview__actions a:hover{
    border-color:#b8d9e9;
    background:#f5fbff;
    transform:translateY(-1px);
}
.rinchan-account-overview__actions strong{font-size:1rem}
.rinchan-account-overview__actions span{color:var(--rin-muted);font-size:.82rem}
.rinchan-account-state{
    display:flex;
    gap:18px;
    align-items:flex-start;
}
.rinchan-account-state__icon{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    border-radius:50%;
    background:#eaf6fd;
    color:var(--rin-blue-dark);
    font-weight:800;
}
.rinchan-account-state--pending{background:linear-gradient(135deg,#fff,#f5fbff)}
.rinchan-account-state--rejected{background:#fffafa;border-color:#efd7d7}
.rinchan-account-state--rejected .rinchan-account-state__icon{background:#fdecec;color:#ad4444}

/* Slightly cleaner account tabs. */
body.rinchan-shop-theme-active.hayashi-shop-account.logged-in .woocommerce-MyAccount-navigation ul{
    gap:10px!important;
}
body.rinchan-shop-theme-active.hayashi-shop-account.logged-in .woocommerce-MyAccount-navigation li a{
    padding:10px 15px!important;
    border-radius:999px!important;
}

@media(max-width:700px){
    .rinchan-registration-guide{padding:20px 18px;border-radius:0 15px 15px 0}
    .rinchan-registration-steps{grid-template-columns:1fr 1fr}
    .rinchan-account-overview,.rinchan-account-state{padding:22px 20px;border-radius:16px}
    .rinchan-account-overview__actions{grid-template-columns:1fr}
}
@media(max-width:420px){
    .rinchan-registration-steps{grid-template-columns:1fr}
}


/* =========================================================
   v1.0.14 Shop-as-home / NEW & restock flags
   ========================================================= */
.hayashi-product-flags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:7px 16px 3px;
}
.hayashi-product-flag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:24px;
    padding:3px 9px;
    border-radius:999px;
    font-size:.7rem;
    line-height:1;
    font-weight:800;
    letter-spacing:.04em;
}
.hayashi-product-flag.is-new{
    background:#eaf6fd;
    border:1px solid #b9dced;
    color:#0c6aa7;
}
.hayashi-product-flag.is-restocked{
    background:#eef9ee;
    border:1px solid #c6e3c8;
    color:#347a42;
}
body.rinchan-shop-theme-active.hayashi-shop-product .summary .hayashi-product-flags{
    margin:0 0 12px;
}
@media(max-width:560px){
    .hayashi-product-flags{margin-left:12px;margin-right:12px}
    .hayashi-product-flag{font-size:.66rem;padding:3px 8px}
}


/* =========================================================
   v1.0.15 Account alignment / naming cleanup
   ========================================================= */

/* Account endpoint content should line up with the navigation width. */
body.rinchan-shop-theme-active.hayashi-shop-account.logged-in .woocommerce-MyAccount-content,
body.rinchan-shop-theme-active.hayashi-shop-account.logged-in .woocommerce-MyAccount-content .woocommerce-info,
body.rinchan-shop-theme-active.hayashi-shop-account.logged-in .woocommerce-MyAccount-content .woocommerce-message,
body.rinchan-shop-theme-active.hayashi-shop-account.logged-in .woocommerce-MyAccount-content .woocommerce-error{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
}

/* Empty-order notice: same left/right edge as account tabs/content. */
body.rinchan-shop-theme-active.hayashi-shop-account.logged-in .woocommerce-MyAccount-content .woocommerce-info{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
}

@media(max-width:700px){
    body.rinchan-shop-theme-active.hayashi-shop-account.logged-in .woocommerce-MyAccount-content .woocommerce-info{
        align-items:flex-start!important;
        flex-direction:column!important;
    }
}


/* =========================================================
   v1.0.16 Account greeting / orders button alignment
   ========================================================= */

/* Keep the empty-order CTA anchored to the right edge of the notice. */
body.rinchan-shop-theme-active.hayashi-shop-account.logged-in .woocommerce-MyAccount-content .woocommerce-info .button,
body.rinchan-shop-theme-active.hayashi-shop-account.logged-in .woocommerce-MyAccount-content .woocommerce-message .button{
    float:none!important;
    margin-left:auto!important;
    margin-right:0!important;
    flex:0 0 auto!important;
}

@media(max-width:700px){
    body.rinchan-shop-theme-active.hayashi-shop-account.logged-in .woocommerce-MyAccount-content .woocommerce-info .button,
    body.rinchan-shop-theme-active.hayashi-shop-account.logged-in .woocommerce-MyAccount-content .woocommerce-message .button{
        align-self:flex-end!important;
        margin-left:auto!important;
    }
}
