/* Hof Maiberg Companion – Fleisch ab Hof 1.0.6 */

.hmc-meat-browser,
.hmc-meat-browser *{
    box-sizing:border-box;
}

.hmc-meat-browser{
    --hmc-green:#3F5238;
    --hmc-orange:#C97B19;
    --hmc-bg:#F8F6F1;
    --hmc-text:#2E352B;
    --hmc-muted:#667061;
    --hmc-line:#E5E0D6;
    color:var(--hmc-text);
}

.hmc-meat-filter{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px 18px;
    margin:0 0 34px;
    padding:0 0 18px;
    border-bottom:1px solid #E8E3D8;
    font-family:"Montserrat",sans-serif;
    font-size:14px;
}

.hmc-meat-filter__label{
    color:#465044;
    font-weight:600;
}

.hmc-meat-filter__button{
    position:relative;
    appearance:none;
    margin:0;
    padding:3px 0;
    border:0;
    background:transparent;
    color:#5C6658;
    cursor:pointer;
    font:inherit;
}

.hmc-meat-filter__button:hover,
.hmc-meat-filter__button:focus-visible,
.hmc-meat-filter__button.is-active{
    color:var(--hmc-orange);
}

.hmc-meat-filter__button.is-active::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-5px;
    height:2px;
    border-radius:999px;
    background:var(--hmc-orange);
}

.hmc-meat-filter__button:focus-visible{
    outline:2px solid var(--hmc-orange);
    outline-offset:5px;
    border-radius:2px;
}

.hmc-meat-grid{
    display:grid;
    gap:30px;
}

.hmc-meat-grid--columns-1{grid-template-columns:1fr}
.hmc-meat-grid--columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.hmc-meat-grid--columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}

.hmc-meat-grid__item[hidden]{
    display:none!important;
}

.hmc-meat-card{
    height:100%;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid var(--hmc-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 30px rgba(46,53,43,.06);
    transition:transform 220ms ease,box-shadow 220ms ease;
}

.hmc-meat-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 44px rgba(46,53,43,.11);
}

.hmc-meat-card__media{
    position:relative;
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#ECE9E1;
}

.hmc-meat-card__image{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform 280ms ease;
}

.hmc-meat-card:hover .hmc-meat-card__image{
    transform:scale(1.025);
}

.hmc-meat-card__mode{
    position:absolute;
    left:18px;
    bottom:18px;
    display:inline-flex;
    padding:7px 11px;
    border-radius:999px;
    background:rgba(248,246,241,.94);
    color:var(--hmc-green);
    font-family:"Montserrat",sans-serif;
    font-size:10px;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
    box-shadow:0 5px 18px rgba(0,0,0,.08);
}

.hmc-meat-card__body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:26px 28px 20px;
}

.hmc-meat-card__eyebrow{
    min-height:18px;
    margin:0 0 9px;
    color:#6F8A57;
    font-family:"Montserrat",sans-serif;
    font-size:11px;
    font-weight:700;
    line-height:1.45;
    letter-spacing:.085em;
    text-transform:uppercase;
}

.hmc-meat-card__title{
    min-height:70px;
    margin:0 0 13px;
    color:var(--hmc-text);
    font-family:"Cormorant Garamond",Georgia,serif;
    font-size:clamp(28px,2.3vw,35px);
    font-weight:600;
    line-height:1.05;
}

.hmc-meat-card__title a{
    color:inherit;
    text-decoration:none;
}

.hmc-meat-card__unit{
    margin:0 0 16px;
    color:var(--hmc-orange);
    font-family:"Montserrat",sans-serif;
    font-size:12px;
    font-weight:700;
    line-height:1.5;
}

.hmc-meat-card__description{
    min-height:66px;
    margin:0 0 22px;
    color:#596255;
    font-family:"Montserrat",sans-serif;
    font-size:13px;
    line-height:1.7;
}

.hmc-meat-card__bottom{
    margin-top:auto;
}

.hmc-meat-card__price{
    margin:0 0 13px;
    color:var(--hmc-text);
    font-family:"Montserrat",sans-serif;
    font-size:18px;
    font-weight:700;
    line-height:1.4;
}

.hmc-meat-price__unit{
    color:#687164;
    font-size:.72em;
    font-weight:600;
}

.hmc-meat-card__status{
    display:inline-flex;
    padding:6px 10px;
    border-radius:999px;
    font-family:"Montserrat",sans-serif;
    font-size:10px;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.hmc-meat-card__status--available{
    background:#E4EDDF;
    color:#36502F;
}

.hmc-meat-card__status--preorder{
    background:#F4E4CC;
    color:#7B4A0E;
}

.hmc-meat-card__status--sold-out{
    background:#E5E5E2;
    color:#666660;
}

.hmc-meat-card__footer{
    padding:0 28px 26px;
}

.hmc-meat-card__link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--hmc-orange);
    font-family:"Montserrat",sans-serif;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
}

.hmc-meat-card__link:hover{
    color:#8C5E13;
}

.hmc-meat-card a:focus-visible{
    outline:2px solid var(--hmc-orange);
    outline-offset:4px;
}

.hmc-meat-empty{
    max-width:720px;
    margin:38px auto;
    padding:40px;
    border-radius:18px;
    background:var(--hmc-bg);
    color:#465044;
    text-align:center;
    font-family:"Montserrat",sans-serif;
}

.hmc-meat-empty p{
    margin:0 0 8px;
}

.hmc-meat-empty p:last-child{
    margin-bottom:0;
}

.hmc-meat-empty[hidden]{
    display:none!important;
}

@media(max-width:1024px){
    .hmc-meat-grid--columns-3{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:680px){
    .hmc-meat-filter{
        align-items:flex-start;
        gap:10px 15px;
    }

    .hmc-meat-filter__label{
        width:100%;
    }

    .hmc-meat-grid,
    .hmc-meat-grid--columns-2,
    .hmc-meat-grid--columns-3{
        grid-template-columns:1fr;
    }

    .hmc-meat-card__body{
        padding:23px 23px 18px;
    }

    .hmc-meat-card__footer{
        padding:0 23px 23px;
    }

    .hmc-meat-card__title,
    .hmc-meat-card__description{
        min-height:0;
    }
}

@media(prefers-reduced-motion:reduce){
    .hmc-meat-card,
    .hmc-meat-card__image{
        transition:none;
    }

    .hmc-meat-card:hover{
        transform:none;
    }

    .hmc-meat-card:hover .hmc-meat-card__image{
        transform:none;
    }
}


/* 1.0.7 – Diagnosehinweis nur für eingeloggte Shop-Administratoren */
.hmc-meat-empty__admin{
    margin-top:18px!important;
    padding:12px 14px;
    border:1px solid #d7c79d;
    border-radius:8px;
    background:#fffaf0;
    color:#6c5a2d;
    font-size:12px;
}
