/* ecforce standard components. Forms, validation and checkout JS retain the base theme DOM. */
body.takahira-theme{background:var(--background);color:var(--foreground);font-family:var(--sans)}
body.takahira-theme .u-color__bg--base,body.takahira-theme .u-color__bg--bg{background-color:var(--background)!important}
body.takahira-theme .u-color__text--main,body.takahira-theme .u-color__input--text{color:var(--foreground)!important}
body.takahira-theme .u-color__text--head,body.takahira-theme .u-color--head{color:var(--brand)!important}
body.takahira-theme .u-color__btn--bg{background-color:var(--brand)!important}
body.takahira-theme .u-color__btn--text{color:#fff!important}
body.takahira-theme .u-color__border--border{border-color:var(--border)!important}
body.takahira-theme .u-color__border--input{border-color:var(--border)!important}
body.takahira-theme .u-text--body,body.takahira-theme .u-color--body{color:var(--foreground)!important;font-size:16px!important;line-height:1.85}
body.takahira-theme .u-text--subhead{font-size:16px!important;line-height:1.7;color:var(--brand)!important}
body.takahira-theme .u-text--link,body.takahira-theme .u-color__btn{color:var(--brand)!important;font-size:14px!important}
body.takahira-theme .u-text--btn{font-size:16px!important;color:#fff!important}
body.takahira-theme .u-text--head{font-family:var(--serif)!important;font-size:30px!important;line-height:1.65;color:var(--brand)!important}
body.takahira-theme a:focus-visible,body.takahira-theme button:focus-visible,body.takahira-theme input:focus-visible,body.takahira-theme select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
body.takahira-theme #ecf_header_section{position:relative!important;background:#fff!important;border-bottom:0}
body.takahira-theme .c-announce_bar{background:var(--brand)!important;color:#fff!important;min-height:34px;padding:9px 16px;font-size:12px;letter-spacing:.08em}
body.takahira-theme .l-header__inner{max-width:1320px!important;min-height:135px!important;max-height:none!important;margin:auto;padding:24px 36px}
body.takahira-theme .l-header__inner__block__logo{width:246px;max-width:246px!important}
body.takahira-theme .l-header__inner__block__logo img{width:100%;max-width:none!important;height:auto}
body.takahira-theme .logo__block{justify-content:center}
.takahira-shop-nav{display:flex;justify-content:center;gap:42px;padding:17px 24px;border-top:1px solid var(--border);border-bottom:2px solid var(--brand);font-size:14px;line-height:1.5;overflow-x:auto;white-space:nowrap}
.takahira-shop-nav a{color:var(--brand);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .25s}
.takahira-shop-nav a:hover{border-color:var(--accent)}
body.takahira-theme .l-container{padding-top:0!important}
body.takahira-theme .l-container__row{max-width:1240px;margin-right:auto;margin-left:auto;padding-right:30px;padding-left:30px}
body.takahira-theme .p-list_header,body.takahira-theme .p-page_header{padding-top:25px;padding-bottom:26px;border-bottom:2px solid var(--brand)}
body.takahira-theme .p-product_list__list{gap:38px 26px}
body.takahira-theme .c-product_item__inner__eyecatch{background:#f7f7f3;overflow:hidden}
body.takahira-theme .c-product_item__inner__eyecatch__img img{object-fit:contain;transition:transform .7s cubic-bezier(.2,.75,.2,1)}
body.takahira-theme .c-product_item:hover .c-product_item__inner__eyecatch__img__primary{transform:scale(1.04)}
body.takahira-theme .c-product_item__inner__content{padding:20px 0 10px}
body.takahira-theme .c-product_item__inner__title{font-family:var(--serif);color:var(--brand);line-height:1.8}
body.takahira-theme .c-product_item__inner__price{color:var(--brand);font-weight:600;margin-top:12px}
body.takahira-theme .p-product_content{padding-top:24px}
body.takahira-theme .c-product_info__title{letter-spacing:.06em;font-size:32px!important}
body.takahira-theme .c-product_info__description{line-height:2!important}
body.takahira-theme .c-product_info__price{color:var(--brand);padding:22px 0;border-bottom:1px solid var(--border)}
body.takahira-theme .c-product_info__price .sales_price_include_tax{font-size:26px!important}
body.takahira-theme button,body.takahira-theme input,body.takahira-theme select{font-family:var(--sans)}
body.takahira-theme input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body.takahira-theme select,body.takahira-theme textarea{font-size:16px;max-width:100%}
body.takahira-theme .p-page_content pre{white-space:pre-wrap;word-break:break-word;font-family:inherit;line-height:2}
body.takahira-theme .c-form_table th,body.takahira-theme .c-form_table td{padding-block:24px}
body.takahira-theme .l-footer{background:#fafaf8!important;border-top:2px solid var(--brand);padding:65px 5% 35px;color:var(--foreground)}
body.takahira-theme .l-footer__logo{display:block;width:145px;max-width:145px!important;margin:0 auto 40px}
body.takahira-theme .l-footer__logo img{width:145px;height:auto}
body.takahira-theme .footer_head{color:var(--brand)!important;letter-spacing:.1em}
body.takahira-theme .footer_link,body.takahira-theme .footer_body{color:var(--foreground)!important;font-size:14px!important}
.takahira-company-link{display:block;text-align:center;margin:35px 0 0;color:var(--brand);font-size:14px}
.takahira-guide-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;padding:64px 0 80px}
.takahira-guide-index{align-self:start;position:sticky;top:25px;background:var(--surface);padding:25px}
.takahira-guide-index a{display:block;padding:15px 0;color:var(--brand);font-size:14px;border-bottom:1px solid var(--border)}
.takahira-guide-content section{padding:0 0 44px;margin:0 0 44px;border-bottom:1px solid var(--border);scroll-margin-top:40px}
.takahira-guide-content h2{font:26px/1.6 var(--serif);color:var(--brand);margin-bottom:24px}
.takahira-guide-content pre{font:16px/2 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere}
.takahira-guide-content a{color:var(--brand);text-decoration:underline;text-underline-offset:5px}
@media(max-width:800px){body.takahira-theme .l-header__inner{padding:18px 16px;min-height:104px!important}body.takahira-theme .l-header__inner__block__logo{width:168px;max-width:168px!important}.takahira-shop-nav{justify-content:flex-start;gap:28px;padding:15px 20px;font-size:13px}body.takahira-theme .l-container__row{padding-inline:20px}body.takahira-theme .u-text--head{font-size:26px!important}body.takahira-theme .c-product_info__title{font-size:26px!important}body.takahira-theme .p-product_list__list{gap:28px 14px}.takahira-guide-layout{grid-template-columns:1fr;gap:35px;padding-top:35px}.takahira-guide-index{position:static}.takahira-guide-content h2{font-size:23px}body.takahira-theme .u-text--body{font-size:15px!important}}
@media(prefers-reduced-motion:reduce){body.takahira-theme .c-product_item img{transition:none!important}}
/* Keep deliberate Japanese line breaks readable between phone and desktop widths. */
@media(min-width:801px) and (max-width:1100px){.takahira-editorial .editorial-copy{padding-left:28px;padding-right:18px}.takahira-editorial .editorial-copy h1{font-size:29px;letter-spacing:.035em}.takahira-editorial .vertical-caption{display:none}.takahira-editorial .corporate-hero{gap:24px}.takahira-editorial .hero-copy h1{font-size:38px}}

.takahira-editorial .takahira-sweets-link{display:block;text-align:right;margin-top:32px;color:var(--brand);font-size:14px;text-decoration:underline;text-underline-offset:5px}.takahira-editorial .drink-pair>a[aria-disabled="true"]{cursor:default}.takahira-editorial .drink-pair .takahira-pending{grid-column:1 / -1;margin:0;font-size:12px;color:var(--brand)}
@media(max-width:480px){.takahira-editorial .shop-about h2{font-size:22px;letter-spacing:.03em}.takahira-editorial .drinks-section h2{font-size:23px;letter-spacing:.03em}}
.takahira-guide-content p{line-height:2;margin:0 0 20px;overflow-wrap:anywhere}.takahira-guide-content img{display:block;width:100%;height:auto;margin:20px 0}.takahira-editorial .harvest-copy h1{line-height:1.4}

/* Mobile catalog: balanced cards and larger centered product photographs. */
@media (max-width:600px){body.takahira-theme .p-product_list{padding-inline:12px!important}body.takahira-theme .p-product_list>.l-container__row{padding-inline:6px!important}body.takahira-theme .p-product_list__list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px!important;justify-items:stretch;width:100%;margin-inline:auto}body.takahira-theme .p-product_list__list__item{display:block!important;width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;float:none!important}body.takahira-theme .c-product_item{width:100%;max-width:none}body.takahira-theme .c-product_item__inner__eyecatch{aspect-ratio:1/1;display:grid;place-items:center}body.takahira-theme .c-product_item__inner__eyecatch__img{width:100%;height:100%;display:grid;place-items:center}body.takahira-theme .c-product_item__inner__eyecatch__img img{width:100%;height:100%;object-fit:contain;object-position:center}body.takahira-theme .c-product_item__inner__content{padding-top:15px}}
@media (max-width:359px){body.takahira-theme .p-product_list__list{gap:24px 10px}}

/* Center and enlarge desktop product grids on all-products and category pages. */
@media (min-width:720px){
  body.takahira-theme .takahira-category-page > .l-container__row{
    width:100%;max-width:1480px;margin-right:auto;margin-left:auto;padding-right:30px;padding-left:30px;
  }
  body.takahira-theme .p-product_list > .l-container__row{
    width:100%;max-width:1480px;margin-right:auto;margin-left:auto;padding-right:30px;padding-left:30px;
  }
  body.takahira-theme .p-product_list__list{
    display:flex;flex-wrap:wrap;justify-content:center;gap:42px 30px;
    width:100%;max-width:none;margin-right:auto;margin-left:auto;
  }
  body.takahira-theme .p-product_list__list > .p-product_list__list__item{
    display:block;flex:0 0 calc((100% - 30px)/2);width:calc((100% - 30px)/2);
    max-width:none;min-width:0;margin:0!important;
  }
  body.takahira-theme .p-product_list__list .c-product_item{width:100%;max-width:none;}
}
@media (min-width:901px){body.takahira-theme .p-product_list__list > .p-product_list__list__item{flex-basis:calc((100% - 60px)/3);width:calc((100% - 60px)/3);}}
@media (min-width:1360px){body.takahira-theme .p-product_list__list > .p-product_list__list__item{flex-basis:calc((100% - 90px)/4);width:calc((100% - 90px)/4);}}

/* Keep the company email legible within the two-column profile on narrow screens. */
.takahira-editorial .t-corp-company-info dd a[href^="mailto:"]{overflow-wrap:anywhere;}

/* The product gallery and purchase information share one centered upper frame. */
@media (min-width:720px){
  body.takahira-theme #product-show-view > #add_product_async_view > .l-container__row{
    margin-right:auto;margin-left:auto;
  }
}

/* Center article cards when a category currently has only one item. */
body.takahira-theme .p-column__inner__list{justify-content:center}
