:root {
    --cabineat-note-color-dark:#111;
    --cabineat-note-color-gray:#32accd;
    --cabineat-note-color-accent:#354554;
    --cabineat-note-color-soft:#dc9814;
}
.cabineat-product-single-page,.cabineat-product-archive-page {
    width:100%;
    box-sizing:border-box
}
.cabineat-product-single-wrap {
    width:100%;
    margin:0;
    padding:100px 0
}
.cabineat-product-layout {
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(340px,.9fr);
    gap:56px;
    align-items:start
}
.cabineat-product-media {
    min-width:0
}
.cabineat-product-image {
    position:relative;
    overflow:hidden;
    margin:0 0 10px;
    border-radius:10px;
    background:#f0f4f7;
    line-height:0;
    cursor:zoom-in;
    isolation:isolate
}
.cabineat-product-image img {
    display:block;
    width:100%;
    height:auto;
    margin:0;
    transform-origin:50% 50%;
    transition:transform .22s ease;
    user-select:none;
    -webkit-user-drag:none
}
.cabineat-product-image.is-zoomed {
    cursor:zoom-out
}
.cabineat-product-image.is-zoomed img {
    transform:scale(2.15);
    transition:none
}
.cabineat-zoom-hint {
    position:absolute;
    right:14px;
    bottom:12px;
    padding:6px 9px;
    border-radius:999px;
    background:rgba(255,255,255,.82);
    font-size:10px;
    line-height:1;
    color:#111;
    opacity:0;
    transition:opacity .2s;
    pointer-events:none
}
.cabineat-product-image:hover .cabineat-zoom-hint {
    opacity:1
}
.cabineat-product-no-image {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:500px;
    background:#f0f4f7;
    color:#999;
    border-radius:10px
}
.cabineat-product-info {
    min-width:0;
    align-self:start;
    position:sticky;
    position:-webkit-sticky;
    top:100px;
    height:max-content
}
.cabineat-product-info-inner {
    position:relative
}
.cabineat-product-title {
    margin:0 0 22px
}
.cabineat-product-summary {
    margin:0 0 30px
}
.cabineat-product-intro {
    display:inline-block;
    margin:0 0 30px;
    padding:8px 20px 6px;
    border-radius:5px;
    background:#efefef
}
.cabineat-product-intro:before {
    content:url(/wp-content/uploads/2026/08/product_introduction_5_16px.svg);
    display:inline-block;
    margin-right:10px;
    line-height:1;
    vertical-align:middle;
}
.cabineat-product-basic-information {
    margin:0
}
.cabineat-product-basic-row {
    display:grid;
    grid-template-columns:30% 1fr;
    align-items:start;
    margin:0 0 9px
}
.cabineat-product-basic-label {
    font-weight:500;
    color:#111
}
.cabineat-product-basic-value {
    color:#111;
    min-width:0
}
.cabineat-notes-color-dark {
    color:var(--cabineat-note-color-dark)
}
.cabineat-notes-color-gray {
    color:var(--cabineat-note-color-gray)
}
.cabineat-notes-color-accent {
    color:var(--cabineat-note-color-accent)
}
.cabineat-notes-color-soft {
    color:var(--cabineat-note-color-soft)
}
.cabineat-taste {
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:45px;
    row-gap:24px;
    margin-top:60px
}
.cabineat-taste__item {
    display: flex;
    align-items: center;
    gap: 15px;
}

.cabineat-taste__item p {
    margin: 0;
    white-space: nowrap;
}

.cabineat-taste__item::after {
    content: "";
    flex: 1;
    order: 2;
    border-bottom: 1px dotted #aaa;
    margin-top: 2px;
}

.cabineat-taste__score {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    order: 3;
}
.cabineat-taste__dot {
    display:block;
    width:17px;
    height:17px;
    border-radius:4px;
    background:#e7e7e7
}
.cabineat-taste__dot.is-active {
    background:#111
}
.cabineat-roasting-level {
    display:flex;
    align-items:flex-start;
    gap:28px;
    width:100%;
    margin-top:60px;
    margin-bottom:35px
}
.cabineat-roasting-level__title {
    flex:0 0 auto;
    white-space:nowrap
}
.cabineat-roasting-level__levels {
    flex:1;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:4px
}
.cabineat-roasting-level__item {
    min-width:0;
    text-align:center
}
.cabineat-roasting-level__bar {
    width:100%;
    height:17px;
    border-radius:4px;
    background:#e7e7e7
}
.cabineat-roasting-level__bar.is-active {
    background:#111
}
.cabineat-roasting-level__label {
    margin-top:12px;
    font-size:13px;
    line-height:1.2;
    font-weight:400;
    color:#bdbdbd;
    white-space:normal
}
.cabineat-roasting-level__label.is-active {
    color:#111
}
.cabineat-product-tastes {
    margin-top:34px;
    margin-bottom:34px;
}
.cabineat-product-tastes__title {
    margin:0 0 10px
}
.cabineat-product-tastes__list {
    display:flex;
    flex-wrap:wrap;
    gap:6px
}
.cabineat-product-tastes__list p {
    margin:0;
    color:#555
}
.cabineat-product-tastes__list p:not(:last-child):after {
    content:', ';
}
.cabineat-buy-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:100%;
    height:50px;
    padding:0 20px;
    border-radius:0px;
    background:transparent;
    color:#000;
    font-size:16px;
    line-height:1;
    text-decoration:none!important;
    transition:opacity .2s;
    border:1px solid;
    margin-top:5%;
}
.cabineat-buy-button:hover {
    opacity:.8
}
.cabineat-related-products {
    margin-top:90px
}
.cabineat-related-products h2 {
    margin:0 0 18px;
    font-size:18px;
    line-height:1.3;
    font-weight:500
}
.cabineat-related-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px
}
.cabineat-related-card {
    display:block;
    min-width:0;
    color:inherit;
    text-decoration:none!important;
    background:#fff;
    border-radius:5px;
    overflow:hidden
}
.cabineat-related-image {
    aspect-ratio:1/1;
    background:#f0f4f7;
    overflow:hidden
}
.cabineat-related-image img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .3s
}
.cabineat-related-card:hover .cabineat-related-image img {
    transform:scale(1.025)
}
.cabineat-related-content {
    padding:14px 14px 16px
}
.cabineat-related-content h3 {
    margin:0 0 4px;
    font-size: 20px;
    line-height:1.4;
    font-weight:500
}
.cabineat-related-notes {
    font-size:.9em;
    line-height:1.5
}
.cabineat-product-archive-wrap {
    width:100%;
    margin:0;
    padding:40px 0 100px
}
.cabineat-archive-layout {
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    gap:55px
}
@media (min-width:1000px) {
    .cabineat-filters {
        position:sticky;
        position:-webkit-sticky;
        top:100px;
        align-self:start;
        height:max-content;
    }
}
.cabineat-filters {
    min-width:0
}
.cabineat-filter-group {
    margin:0 0 38px
}
.cabineat-filter-group h5 {
    margin:0 0 18px
}
.cabineat-filter-parent a,.cabineat-filter-child a,.cabineat-filter-term {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    color:#333;
    text-decoration:none!important
}
.cabineat-filter-parent a {
    padding:3px 0;
    font-size: 0.9em;
}
.cabineat-filter-child a {
    padding:4px 0 4px 14px
}
.cabineat-filter-parent a.is-active,.cabineat-filter-child a.is-active,.cabineat-filter-term.is-active {
    font-weight:600;
    color:#111
}
.cabineat-filter-parent span,.cabineat-filter-child span {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 21px;
    width:21px;
    min-width:21px;
    height:21px;
    padding:0;
    border-radius:50%;
    background:#eee;
    font-size:11px;
    line-height:21px;
    color:#555;
    transition:background-color .2s,color .2s
}
.cabineat-filter-parent a:hover span,.cabineat-filter-parent a.is-active span,.cabineat-filter-child a:hover span,.cabineat-filter-child a.is-active span {
    background:#111;
    color:#fff
}
.cabineat-filter-term > span:last-child {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 21px;
    width:21px;
    min-width:21px;
    height:21px;
    padding:0;
    border-radius:50%;
    background:#eee;
    font-size:11px;
    line-height:21px;
    color:#555;
    transition:background-color .2s,color .2s
}
.cabineat-filter-term:hover > span:last-child,
.cabineat-filter-term.is-active > span:last-child {
    background:#111;
    color:#fff
}
.cabineat-filter-term {
    padding:3px 0;
    font-size: 0.9em;
}
.cabineat-filter-tags {
    display:flex;
    flex-wrap:wrap;
    gap:7px
}
.cabineat-filter-tags p {
    margin:0;
    font-size: 0.9em;
}
.cabineat-filter-tag {
    display:inline-flex;
    padding:4px 10px;
    border:1px solid #e5e5e5;
    border-radius:999px;
    color:#555;
    text-decoration:none!important
}
.cabineat-filter-tag.is-active {
    background:#111;
    border-color:#111;
    color:#fff
}

.cabineat-filter-reset {
    display: inline-block;
    margin-top: 5px;
    color: #111;
    padding: 10px 25px;
    font-size: .9em;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;
}
/*
.cabineat-filter-reset {
    display:inline-block;
    margin-top:5px;
    color:#666;
    text-decoration:underline
}*/

.cabineat-filter-reset.is-hidden {
    display:none
}
.cabineat-product-results {
    min-width:0
}
.cabineat-result-count {
    margin:0 0 20px;
    text-align:right;
    font-size:16px;
    color:#111
}
.cabineat-product-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px
}
.cabineat-product-card {
    min-width:0;
    border-radius:6px;
    overflow:hidden;
    background:#fff
}
.cabineat-product-card>a {
    display:block;
    color:inherit;
    text-decoration:none!important
}
.cabineat-product-card-image {
    position:relative;
    aspect-ratio:1/1;
    background:#f0f4f7;
    overflow:hidden
}
.cabineat-product-card-image img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .3s
}
.cabineat-product-card:hover .cabineat-product-card-image img {
    transform:scale(1.02)
}
.cabineat-no-image {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    font-size:12px;
    color:#999
}
.cabineat-product-card-content {
    padding:17px 18px 19px;
    min-height:75px
}
.cabineat-product-card-content h5 {
    margin:0 0 4px
}
.cabineat-product-card-notes {
    margin:0;
    font-size:.9em;
}
.cabineat-pagination {
    margin-top:50px;
    text-align:center
}
.cabineat-pagination ul {
    display:flex;
    justify-content:center;
    gap:5px;
    margin:0;
    padding:0;
    list-style:none
}
.cabineat-pagination a,.cabineat-pagination span {
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:32px;
    height:32px;
    padding:0 8px;
    border-radius:3px;
    color:#111;
    text-decoration:none!important;
    font-size:13px
}
.cabineat-pagination .current {
    background:#111;
    color:#fff
}
.cabineat-no-results {
    padding:80px 20px;
    text-align:center;
    background:#f7f7f7
}
.cabineat-no-results h2 {
    margin:0 0 8px;
    font-size:20px
}
.cabineat-no-results p {
    margin:0 0 20px;
    color:#666;
    font-size:14px
}
.cabineat-no-results a {
    color:#111;
    text-decoration:underline
}
.cabineat-filter-toggle {
    display:none
}
.cabineat-filter-content {
    display:block
}
.cabineat-filter-group p,.cabineat-filter-group h5 {
    margin-top:0
}
.cabineat-filter-tag {
    margin:0
}
.cabineat-filter-parent p,.cabineat-filter-child p,.cabineat-filter-group > p {
    margin:0
}
.cabineat-product-card-content h5 {
    margin-top:0
}
.cabineat-product-card-notes {
    margin-top:0
}
.cabineat-product-info {
    z-index:2
}
.cabineat-product-media {
    min-width:0
}
.cabineat-product-information-title {
    margin:0 0 14px
}
.cabineat-product-basic-information p {
    margin:0
}
.cabineat-product-basic-label,.cabineat-product-basic-value {
    margin:0
}
.cabineat-taste__item p {
    margin:0
}
.cabineat-roasting-level__title {
    margin:0
}
.cabineat-product-tastes__list p {
    margin:0
}
.cabineat-product-tastes__list {
    margin:0
}
.cabineat-filter-content {
    max-height:none;
    overflow:visible
}
.cabineat-filter-loading {
    opacity:.35;
    transform:translateY(4px);
    pointer-events:none;
    transition:opacity .28s ease,transform .28s ease
}
.cabineat-product-results {
    min-width:0
}
.cabineat-pagination a,.cabineat-pagination span {
    cursor:pointer
}
@media(min-width:1000px) and (max-width:1480px) {
    .cabineat-product-layout {
        grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);
        gap:40px
    }
}
@media (max-width:1200px){
    .cabineat-roasting-level__label{font-size:13px;}
}

@media (max-width:600px) {
        .cabineat-roasting-level {
        display:block
    }
    .cabineat-roasting-level__levels {
        margin-top:18px
    }
}
@media(max-width:999px) {
    .cabineat-product-single-wrap {
        padding:20px 0 70px
    }
    .cabineat-product-layout {
        grid-template-columns:1fr;
        gap:35px
    }
    .cabineat-product-info {
        position:static;
        top:auto
    }
    .cabineat-product-title {
        font-size:24px
    }
    .cabineat-product-summary {
        font-size:16px
    }
    .cabineat-product-basic-row {
        font-size:14px
    }
    .cabineat-taste {
        margin-top:40px
    }
    .cabineat-roasting-level {
        margin-top:45px
    }
    .cabineat-related-products {
        margin-top:65px
    }
    .cabineat-product-archive-wrap {
        padding:30px 0 70px
    }
    .cabineat-archive-layout {
        grid-template-columns:240px minmax(0,1fr);
        gap:30px
    }
        .cabineat-product-media {
        display:flex;
        gap:7px;
        overflow-x:auto;
        overflow-y:hidden;
        scroll-snap-type:x mandatory;
        scroll-behavior:smooth;
        -webkit-overflow-scrolling:touch;
        padding-bottom:4px;
        margin-right:calc((100vw - 100%)/-2);
        padding-right:calc((100vw - 100%)/2);
        scrollbar-width:none
    }
    .cabineat-product-media::-webkit-scrollbar {
        display:none
    }
    .cabineat-product-media .cabineat-product-image,.cabineat-product-media .cabineat-product-no-image {
        flex:0 0 88vw;
        max-width:88vw;
        scroll-snap-align:start;
        margin-bottom:0
    }
    .cabineat-product-media .cabineat-product-image img {
        width:100%
    }
    .cabineat-product-media .cabineat-product-image.is-zoomed {
        cursor:zoom-out
    }
    .cabineat-product-media .cabineat-product-no-image {
        min-height:88vw
    }
}
@media(max-width:767px) {
    .cabineat-filter-toggle{
        color: #fff;
        padding: 0px 20px!important;
    }
    .cabineat-filter-toggle {
        display:flex;
        align-items:center;
        justify-content:space-between;
        width:100%;
        min-height:48px;
        margin:0 0 14px;
        padding:0;
        border:0;
        border-bottom:1px solid #111;
        background:transparent;
        color:inherit;
        cursor:pointer
    }
    .cabineat-filter-toggle-icon {
        font-size:20px;
        line-height:1;
        font-weight:300;
        transition:transform .2s
    }
    .cabineat-filter-toggle[aria-expanded="true"] .cabineat-filter-toggle-icon {
        transform:rotate(45deg)
    }
    .cabineat-filter-content {
        display:none
    }
    .cabineat-filter-content.is-open {
        display:block
    }
    .cabineat-product-title {
        margin-top:0
    }
    .cabineat-product-summary,.cabineat-product-intro {
        margin-left:0;
        margin-right:0
    }
    .cabineat-filter-group h5 {
        margin-bottom:12px
    }
    .cabineat-filter-parent a,.cabineat-filter-child a,.cabineat-filter-term {
        padding-top:6px;
        padding-bottom:6px
    }
    .cabineat-filter-tags {
        gap:6px
    }
    .cabineat-filter-tag {
        padding:7px 9px
    }
    .cabineat-product-card-content h5 {
        margin-bottom:4px
    }
    .cabineat-product-card-notes {
        margin:0
    }
    .cabineat-roasting-level__title {
        margin-bottom:17px
    }
    .cabineat-product-tastes__title {
        margin:0 0 10px
    }
    .cabineat-product-tastes__list p {
        margin:0
    }
}
/* Responsive archive layout fix */
@media (min-width:999px) and (max-width:1400px) {
    .cabineat-product-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:15px
    }
}
@media (min-width:1000px) {
    .cabineat-product-info-inner {
        padding-top:40px;
    }
    .cabineat-product-single-wrap {
        padding-top:40px;
    }
}
@media (min-width:768px) and (max-width:999px) {
    .cabineat-product-archive-wrap {
        padding:32px 0 70px
    }
    .cabineat-archive-layout {
        display:block
    }
    .cabineat-filters {
        width:100%;
        margin:0 0 30px;
        position:static
    }
    .cabineat-filter-toggle {
        display:flex;
        align-items:center;
        justify-content:space-between;
        width:100%;
        min-height:48px;
        margin:0 0 14px;
        padding:0;
        border:0;
        border-bottom:1px solid #111;
        background:transparent;
        color:inherit;
        cursor:pointer
    }
    .cabineat-filter-toggle-icon {
        font-size:20px;
        line-height:1;
        font-weight:300;
        transition:transform .2s
    }
    .cabineat-filter-toggle[aria-expanded="true"] .cabineat-filter-toggle-icon {
        transform:rotate(45deg)
    }
    .cabineat-filter-content {
        display:none
    }
    .cabineat-filter-content.is-open {
        display:block
    }
    .cabineat-product-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px
    }
    .cabineat-product-card-content {
        padding:15px 16px 17px
    }
}
@media (max-width:767px) {
    .cabineat-product-archive-wrap {
        padding:24px 0 60px
    }
    .cabineat-archive-layout {
        display:block
    }
    .cabineat-filters {
        width:100%;
        margin:0 0 24px;
        position:static
    }
    .cabineat-product-grid {
        grid-template-columns:repeat(1,minmax(0,1fr));
        gap:15px
    }
    .cabineat-product-card-content {
        padding:12px 12px 14px;
        min-height:0
    }
    .cabineat-result-count {
        text-align:right;
        margin-bottom:14px
    }
    .cabineat-taste {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        row-gap: 10px;
    }
}
@media (max-width:999px) {
    .cabineat-related-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
.cabineat-filter-term .cabineat-filter-label {
    min-width:0;
    margin-right:auto
}


.cabineat-product-card-image,.cabineat-product-image,.cabineat-related-image{position:relative}
.cabineat-product-badge{
    position:absolute;
    z-index:5;
    left:14px;
    top:14px;
    display:block;
    box-sizing:border-box;
    pointer-events:none
}

.cabineat-product-badge--text{
    max-width:calc(100% - 28px);
    padding:7px 11px 6px;
    background:rgba(255, 255, 255, 0.5);;
    color:#111;
    font-size:13px;
    font-weight:500;
    line-height:1.2;
    letter-spacing:.01em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    border-radius:10px;
    /*box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px, rgba(0, 0, 0, 0.1) 0px 1px 2px;*/
    box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;
}

.cabineat-product-badge--image{
    max-width:32%;
    line-height:0
}

.cabineat-product-badge--image img{
    display:block;
    width:auto;
    max-width:100%;height:auto;max-height:70px}
.cabineat-product-card-image .cabineat-product-badge--image img{max-height:54px}
.cabineat-product-image .cabineat-product-badge--image img{max-height:80px}
.cabineat-product-badge--single{left:16px;top:16px}
@media(max-width:767px){.cabineat-product-badge{left:10px;top:10px}.cabineat-product-badge--text{max-width:calc(100% - 20px);padding:6px 9px 5px;font-size:10px}.cabineat-product-badge--image{max-width:38%}.cabineat-product-card-image .cabineat-product-badge--image img{max-height:45px}.cabineat-product-image .cabineat-product-badge--image img{max-height:60px}}

.cabineat-shortcode-products{width:100%;}

/* Shortcode product list - horizontal drag/inertia scroller */
.cabineat-shortcode-products{
    width:100%;
    min-width:0;
    overflow:hidden;
}
.cabineat-shortcode-products .cabineat-product-grid{
    display:flex;
    flex-wrap:nowrap;
    gap:14px;
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0;
    margin:0;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -ms-overflow-style:none;
    cursor:grab;
    user-select:none;
    -webkit-user-select:none;
    touch-action:pan-y;
}
.cabineat-shortcode-products .cabineat-product-grid::-webkit-scrollbar{
    display:none;
    width:0;
    height:0;
}

.cabineat-shortcode-products .cabineat-product-card{
    flex:0 0 calc((100% - 42px)/4);
    min-width:0;
}
@media (max-width:1199px){
    .cabineat-shortcode-products .cabineat-product-card{
        flex-basis:calc((100% - 28px)/3);
    }
}
@media (max-width:767px){
    .cabineat-shortcode-products .cabineat-product-grid{
        gap:10px;
    }
    .cabineat-shortcode-products .cabineat-product-card{
        flex-basis:72%;
    }
    .cabineat-shortcode-products .cabineat-product-card-content{
        padding:12px 12px 14px;
        min-height:0;
    }
}
