.product-details-link{display:inline-block;margin:0 0 12px;color:var(--primary);font-weight:800}.product-page{max-width:1180px;margin:auto;padding:34px 20px 70px}.back-link{display:inline-block;margin-bottom:22px;color:var(--primary);font-weight:800}.product-detail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:40px}.detail-main{display:block;width:100%;aspect-ratio:4/3;border:0;border-radius:22px;overflow:hidden;background:#e7eee9}.detail-main img{width:100%;height:100%;object-fit:contain}.detail-thumbs{display:flex;gap:10px;overflow:auto;padding-top:12px}.detail-thumbs button{flex:0 0 82px;width:82px;height:70px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#fff}.detail-thumbs button:focus{border-color:var(--primary)}.detail-thumbs img{width:100%;height:100%;object-fit:cover}.detail-placeholder{display:grid;place-items:center;aspect-ratio:4/3;border-radius:22px;background:#dce9df;color:var(--primary);font-size:7rem;font-weight:900}.detail-info>small{color:var(--primary);font-weight:800}.detail-info h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1;letter-spacing:-.05em;margin:8px 0 18px}.detail-info>p{color:var(--muted)}.detail-info>del{display:block}.detail-price{display:block;font-size:2rem;margin:5px 0 22px}.detail-info label{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;font-weight:750}.detail-add{width:100%;padding:15px}.premium-admin-form{margin-bottom:20px}.premium-admin-form h2{margin:0}.report-grid,.premium-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gallery-admin{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery-admin article{padding:8px}.gallery-admin img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}.gallery-admin form{text-align:center;padding:7px}.admin-content .actions{min-width:230px}.admin-content .actions a{font-weight:750;color:var(--primary)}@media(max-width:850px){.product-detail,.report-grid,.premium-product-grid{grid-template-columns:1fr}.product-info .product-details-link{display:block}}@media(max-width:560px){.product-page{padding:22px 14px 50px}.detail-main{border-radius:16px}.detail-info h1{font-size:2.2rem}.gallery-admin{grid-template-columns:repeat(2,1fr)}}

/* Psicologia: evita expansão intrínseca do detalhe em telas menores */
body.model-clinica-psicologia .product-detail > .detail-gallery,
body.model-clinica-psicologia .product-detail > .detail-info,
body.model-fonoaudiologia .product-detail > .detail-gallery,
body.model-fonoaudiologia .product-detail > .detail-info,
body.model-terapia-ocupacional .product-detail > .detail-gallery,
body.model-terapia-ocupacional .product-detail > .detail-info,
body.model-laboratorio-analises .product-detail > .detail-gallery,
body.model-laboratorio-analises .product-detail > .detail-info,
body.model-cuidador-idosos .product-detail > .detail-gallery,
body.model-cuidador-idosos .product-detail > .detail-info,
body.model-home-care .product-detail > .detail-gallery,
body.model-home-care .product-detail > .detail-info{min-width:0;max-width:100%}
body.model-clinica-psicologia .detail-gallery,
body.model-clinica-psicologia .detail-main,
body.model-fonoaudiologia .detail-gallery,
body.model-fonoaudiologia .detail-main,
body.model-clinica-psicologia .detail-main img,
body.model-clinica-psicologia .detail-thumbs,
body.model-fonoaudiologia .detail-main img,
body.model-fonoaudiologia .detail-thumbs,
body.model-clinica-psicologia .detail-info,
body.model-clinica-psicologia .appointment-actions,
body.model-fonoaudiologia .detail-info,
body.model-fonoaudiologia .appointment-actions,
body.model-terapia-ocupacional .detail-gallery,
body.model-terapia-ocupacional .detail-main,
body.model-terapia-ocupacional .detail-main img,
body.model-terapia-ocupacional .detail-thumbs,
body.model-terapia-ocupacional .detail-info,
body.model-terapia-ocupacional .appointment-actions,
body.model-laboratorio-analises .detail-gallery,
body.model-laboratorio-analises .detail-main,
body.model-laboratorio-analises .detail-main img,
body.model-laboratorio-analises .detail-thumbs,
body.model-laboratorio-analises .detail-info,
body.model-laboratorio-analises .appointment-actions,
body.model-cuidador-idosos .detail-gallery,
body.model-cuidador-idosos .detail-main,
body.model-cuidador-idosos .detail-main img,
body.model-cuidador-idosos .detail-thumbs,
body.model-cuidador-idosos .detail-info,
body.model-cuidador-idosos .appointment-actions,
body.model-home-care .detail-gallery,
body.model-home-care .detail-main,
body.model-home-care .detail-main img,
body.model-home-care .detail-thumbs,
body.model-home-care .detail-info,
body.model-home-care .appointment-actions{max-width:100%;min-width:0}
@media(max-width:850px){body.model-clinica-psicologia .product-detail,body.model-fonoaudiologia .product-detail,body.model-terapia-ocupacional .product-detail,body.model-laboratorio-analises .product-detail,body.model-cuidador-idosos .product-detail,body.model-home-care .product-detail{min-width:0;width:100%}body.model-clinica-psicologia .appointment-actions>.button,body.model-fonoaudiologia .appointment-actions>.button,body.model-terapia-ocupacional .appointment-actions>.button,body.model-laboratorio-analises .appointment-actions>.button,body.model-cuidador-idosos .appointment-actions>.button,body.model-home-care .appointment-actions>.button{min-width:0;max-width:100%}}


/* RESTAURANTE — detalhe de prato e adicionais responsivos */
body.model-restaurante .product-detail > .detail-gallery,
body.model-restaurante .product-detail > .detail-info,
body.model-restaurante .detail-gallery,
body.model-restaurante .detail-main,
body.model-restaurante .detail-main img,
body.model-restaurante .detail-thumbs,
body.model-restaurante .detail-info,
body.model-restaurante .product-addons{
    min-width:0;
    max-width:100%;
}
body.model-restaurante .product-addons input[type="checkbox"]{
    width:auto;
}
@media(max-width:850px){
    body.model-restaurante .product-detail{
        width:100%;
        min-width:0;
        grid-template-columns:1fr;
    }
    body.model-restaurante .detail-gallery,
    body.model-restaurante .detail-info{
        width:100%;
        min-width:0;
    }
}


/* PIZZARIA — detalhe, sabores e adicionais responsivos */
body.model-pizzaria .product-detail > .detail-gallery,
body.model-pizzaria .product-detail > .detail-info,
body.model-pizzaria .detail-gallery,
body.model-pizzaria .detail-main,
body.model-pizzaria .detail-main img,
body.model-pizzaria .detail-thumbs,
body.model-pizzaria .detail-info,
body.model-pizzaria .product-addons{
    min-width:0;
    max-width:100%;
}
body.model-pizzaria .product-addons input[type="checkbox"]{
    width:auto;
}
@media(max-width:850px){
    body.model-pizzaria .product-detail{
        width:100%;
        min-width:0;
        grid-template-columns:1fr;
    }
    body.model-pizzaria .detail-gallery,
    body.model-pizzaria .detail-info{
        width:100%;
        min-width:0;
    }
}


/* HAMBURGUERIA — detalhe e adicionais responsivos */
body.model-hamburgueria .product-detail > .detail-gallery,
body.model-hamburgueria .product-detail > .detail-info,
body.model-hamburgueria .detail-gallery,
body.model-hamburgueria .detail-main,
body.model-hamburgueria .detail-main img,
body.model-hamburgueria .detail-thumbs,
body.model-hamburgueria .detail-info,
body.model-hamburgueria .product-addons{
    min-width:0;
    max-width:100%;
}
body.model-hamburgueria .product-addons input[type="checkbox"]{width:auto}
@media(max-width:850px){
    body.model-hamburgueria .product-detail{
        width:100%;
        min-width:0;
        grid-template-columns:1fr;
    }
    body.model-hamburgueria .detail-gallery,
    body.model-hamburgueria .detail-info{
        width:100%;
        min-width:0;
    }
}


/* PADARIA — detalhe de produto responsivo */
body.model-padaria .product-detail > .detail-gallery,
body.model-padaria .product-detail > .detail-info,
body.model-padaria .detail-gallery,
body.model-padaria .detail-main,
body.model-padaria .detail-main img,
body.model-padaria .detail-thumbs,
body.model-padaria .detail-info,
body.model-padaria .product-addons{
    min-width:0;
    max-width:100%;
}
@media(max-width:850px){
    body.model-padaria .product-detail{
        width:100%;
        min-width:0;
        grid-template-columns:1fr;
    }
    body.model-padaria .detail-gallery,
    body.model-padaria .detail-info{
        width:100%;
        min-width:0;
    }
}


/* CAFETERIA — detalhe responsivo */
body.model-cafeteria .product-detail > .detail-gallery,
body.model-cafeteria .product-detail > .detail-info,
body.model-cafeteria .detail-gallery,
body.model-cafeteria .detail-main,
body.model-cafeteria .detail-main img,
body.model-cafeteria .detail-thumbs,
body.model-cafeteria .detail-info,
body.model-cafeteria .product-addons{min-width:0;max-width:100%}
@media(max-width:850px){
 body.model-cafeteria .product-detail{width:100%;min-width:0;grid-template-columns:1fr}
 body.model-cafeteria .detail-gallery,body.model-cafeteria .detail-info{width:100%;min-width:0}
}


/* DISTRIBUIDORA — detalhe responsivo */
body.model-distribuidora-bebidas .product-detail > .detail-gallery,
body.model-distribuidora-bebidas .product-detail > .detail-info,
body.model-distribuidora-bebidas .detail-gallery,
body.model-distribuidora-bebidas .detail-main,
body.model-distribuidora-bebidas .detail-main img,
body.model-distribuidora-bebidas .detail-thumbs,
body.model-distribuidora-bebidas .detail-info{min-width:0;max-width:100%}
@media(max-width:850px){
 body.model-distribuidora-bebidas .product-detail{width:100%;min-width:0;grid-template-columns:1fr}
 body.model-distribuidora-bebidas .detail-gallery,body.model-distribuidora-bebidas .detail-info{width:100%;min-width:0}
}


/* HORTIFRUTI — detalhe responsivo */
body.model-hortifruti .product-detail > .detail-gallery,
body.model-hortifruti .product-detail > .detail-info,
body.model-hortifruti .detail-gallery,
body.model-hortifruti .detail-main,
body.model-hortifruti .detail-main img,
body.model-hortifruti .detail-thumbs,
body.model-hortifruti .detail-info{min-width:0;max-width:100%}
@media(max-width:850px){
 body.model-hortifruti .product-detail{width:100%;min-width:0;grid-template-columns:1fr}
 body.model-hortifruti .detail-gallery,body.model-hortifruti .detail-info{width:100%;min-width:0}
}


/* ACOUGUE — detalhe responsivo */
body.model-acougue .product-detail > .detail-gallery,
body.model-acougue .product-detail > .detail-info,
body.model-acougue .detail-gallery,
body.model-acougue .detail-main,
body.model-acougue .detail-main img,
body.model-acougue .detail-thumbs,
body.model-acougue .detail-info{min-width:0;max-width:100%}
@media(max-width:850px){
 body.model-acougue .product-detail{width:100%;min-width:0;grid-template-columns:1fr}
 body.model-acougue .detail-gallery,body.model-acougue .detail-info{width:100%;min-width:0}
}


/* DOCERIA — detalhe responsivo */
body.model-doceria-confeitaria .product-detail > .detail-gallery,
body.model-doceria-confeitaria .product-detail > .detail-info,
body.model-doceria-confeitaria .detail-gallery,
body.model-doceria-confeitaria .detail-main,
body.model-doceria-confeitaria .detail-main img,
body.model-doceria-confeitaria .detail-thumbs,
body.model-doceria-confeitaria .detail-info,
body.model-doceria-confeitaria .product-addons{min-width:0;max-width:100%}
@media(max-width:850px){
 body.model-doceria-confeitaria .product-detail{width:100%;min-width:0;grid-template-columns:1fr}
 body.model-doceria-confeitaria .detail-gallery,body.model-doceria-confeitaria .detail-info{width:100%;min-width:0}
}


/* SORVETERIA — detalhe responsivo */
body.model-sorveteria .product-detail > .detail-gallery,
body.model-sorveteria .product-detail > .detail-info,
body.model-sorveteria .detail-gallery,
body.model-sorveteria .detail-main,
body.model-sorveteria .detail-main img,
body.model-sorveteria .detail-thumbs,
body.model-sorveteria .detail-info,
body.model-sorveteria .product-addons{min-width:0;max-width:100%}
@media(max-width:850px){
 body.model-sorveteria .product-detail{width:100%;min-width:0;grid-template-columns:1fr}
 body.model-sorveteria .detail-gallery,body.model-sorveteria .detail-info{width:100%;min-width:0}
}


/* ACAITERIA — detalhe responsivo */
body.model-acaiteria .product-detail > .detail-gallery,
body.model-acaiteria .product-detail > .detail-info,
body.model-acaiteria .detail-gallery,
body.model-acaiteria .detail-main,
body.model-acaiteria .detail-main img,
body.model-acaiteria .detail-thumbs,
body.model-acaiteria .detail-info,
body.model-acaiteria .product-addons{min-width:0;max-width:100%}
@media(max-width:850px){
 body.model-acaiteria .product-detail{width:100%;min-width:0;grid-template-columns:1fr}
 body.model-acaiteria .detail-gallery,body.model-acaiteria .detail-info{width:100%;min-width:0}
}


/* MARMITARIA — detalhe responsivo */
body.model-marmitaria .product-detail > .detail-gallery,
body.model-marmitaria .product-detail > .detail-info,
body.model-marmitaria .detail-gallery,
body.model-marmitaria .detail-main,
body.model-marmitaria .detail-main img,
body.model-marmitaria .detail-thumbs,
body.model-marmitaria .detail-info,
body.model-marmitaria .product-addons{min-width:0;max-width:100%}
@media(max-width:850px){
 body.model-marmitaria .product-detail{width:100%;min-width:0;grid-template-columns:1fr}
 body.model-marmitaria .detail-gallery,body.model-marmitaria .detail-info{width:100%;min-width:0}
}


/* PASTELARIA — detalhe responsivo */
body.model-pastelaria .product-detail > .detail-gallery,
body.model-pastelaria .product-detail > .detail-info,
body.model-pastelaria .detail-gallery,
body.model-pastelaria .detail-main,
body.model-pastelaria .detail-main img,
body.model-pastelaria .detail-thumbs,
body.model-pastelaria .detail-info,
body.model-pastelaria .product-addons{min-width:0;max-width:100%}
@media(max-width:850px){
 body.model-pastelaria .product-detail{width:100%;min-width:0;grid-template-columns:1fr}
 body.model-pastelaria .detail-gallery,body.model-pastelaria .detail-info{width:100%;min-width:0}
}


/* FOOD TRUCK — detalhe responsivo */
body.model-food-truck .product-detail > .detail-gallery,
body.model-food-truck .product-detail > .detail-info,
body.model-food-truck .detail-gallery,
body.model-food-truck .detail-main,
body.model-food-truck .detail-main img,
body.model-food-truck .detail-thumbs,
body.model-food-truck .detail-info,
body.model-food-truck .product-addons{min-width:0;max-width:100%}
@media(max-width:850px){
 body.model-food-truck .product-detail{width:100%;min-width:0;grid-template-columns:1fr}
 body.model-food-truck .detail-gallery,body.model-food-truck .detail-info{width:100%;min-width:0}
}


/* PEIXARIA — detalhe responsivo */
body.model-peixaria .product-detail > .detail-gallery,
body.model-peixaria .product-detail > .detail-info,
body.model-peixaria .detail-gallery,
body.model-peixaria .detail-main,
body.model-peixaria .detail-main img,
body.model-peixaria .detail-thumbs,
body.model-peixaria .detail-info{min-width:0;max-width:100%}
@media(max-width:850px){
 body.model-peixaria .product-detail{width:100%;min-width:0;grid-template-columns:1fr}
 body.model-peixaria .detail-gallery,body.model-peixaria .detail-info{width:100%;min-width:0}
}


/* ADEGA / EMPÓRIO — detalhe responsivo */
body.model-adega-emporio .product-detail > .detail-gallery,
body.model-adega-emporio .product-detail > .detail-info,
body.model-adega-emporio .detail-gallery,
body.model-adega-emporio .detail-main,
body.model-adega-emporio .detail-main img,
body.model-adega-emporio .detail-thumbs,
body.model-adega-emporio .detail-info{min-width:0;max-width:100%}
.age-responsibility-note{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0;padding:14px 18px}
.age-responsibility-note strong{font-size:1rem}
.age-responsibility-note span{min-width:0}
@media(max-width:850px){
 body.model-adega-emporio .product-detail{width:100%;min-width:0;grid-template-columns:1fr}
 body.model-adega-emporio .detail-gallery,body.model-adega-emporio .detail-info{width:100%;min-width:0}
}


/* ASSISTÊNCIA TÉCNICA — serviço/agendamento */
body.model-assistencia-tecnica .products{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
body.model-assistencia-tecnica .product-card,
body.model-assistencia-tecnica .product-info,
body.model-assistencia-tecnica .appointment-actions{
    min-width:0;
}
@media(max-width:820px){
    body.model-assistencia-tecnica .products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
    body.model-assistencia-tecnica .products{grid-template-columns:1fr}
}


/* ELETRICISTA — serviço/agendamento */
body.model-eletricista .products{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
body.model-eletricista .product-card,
body.model-eletricista .product-info,
body.model-eletricista .appointment-actions{
    min-width:0;
}
@media(max-width:820px){
    body.model-eletricista .products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
    body.model-eletricista .products{grid-template-columns:1fr}
}


/* ENCANADOR — serviço/agendamento */
body.model-encanador .products{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
body.model-encanador .product-card,
body.model-encanador .product-info,
body.model-encanador .appointment-actions{
    min-width:0;
}
@media(max-width:820px){
    body.model-encanador .products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
    body.model-encanador .products{grid-template-columns:1fr}
}


/* SERVIÇOS DE LIMPEZA — serviço/agendamento */
body.model-limpeza .products{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
body.model-limpeza .product-card,
body.model-limpeza .product-info,
body.model-limpeza .appointment-actions{
    min-width:0;
}
@media(max-width:820px){
    body.model-limpeza .products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
    body.model-limpeza .products{grid-template-columns:1fr}
}


/* AR-CONDICIONADO — serviço/agendamento */
body.model-ar-condicionado .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-ar-condicionado .product-card,
body.model-ar-condicionado .product-info,
body.model-ar-condicionado .appointment-actions{min-width:0}
@media(max-width:820px){
 body.model-ar-condicionado .products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
 body.model-ar-condicionado .products{grid-template-columns:1fr}
}


/* OFICINA DE BICICLETAS — serviço/agendamento */
body.model-oficina-bicicletas .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-oficina-bicicletas .product-card,
body.model-oficina-bicicletas .product-info,
body.model-oficina-bicicletas .appointment-actions{min-width:0}
@media(max-width:820px){body.model-oficina-bicicletas .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-oficina-bicicletas .products{grid-template-columns:1fr}}


/* GRÁFICA — híbrido de serviços */
body.model-grafica .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-grafica .product-card,
body.model-grafica .product-info,
body.model-grafica .appointment-actions{min-width:0}
@media(max-width:820px){body.model-grafica .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-grafica .products{grid-template-columns:1fr}}


/* DEDETIZADORA — serviço/agendamento */
body.model-dedetizadora .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-dedetizadora .product-card,
body.model-dedetizadora .product-info,
body.model-dedetizadora .appointment-actions{min-width:0}
@media(max-width:820px){body.model-dedetizadora .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-dedetizadora .products{grid-template-columns:1fr}}


/* JARDINAGEM / PAISAGISMO — serviço/agendamento */
body.model-jardinagem-paisagismo .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-jardinagem-paisagismo .product-card,
body.model-jardinagem-paisagismo .product-info,
body.model-jardinagem-paisagismo .appointment-actions{min-width:0}
@media(max-width:820px){body.model-jardinagem-paisagismo .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-jardinagem-paisagismo .products{grid-template-columns:1fr}}


/* CHAVEIRO — serviço/agendamento */
body.model-chaveiro .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-chaveiro .product-card,
body.model-chaveiro .product-info,
body.model-chaveiro .appointment-actions{min-width:0}
@media(max-width:820px){body.model-chaveiro .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-chaveiro .products{grid-template-columns:1fr}}


/* LOTERIA / CORRESPONDENTE — atendimento de balcão */
body.model-loteria-correspondente .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-loteria-correspondente .product-card,
body.model-loteria-correspondente .product-info{min-width:0}
@media(max-width:820px){body.model-loteria-correspondente .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-loteria-correspondente .products{grid-template-columns:1fr}}


/* LAVANDERIA — serviço/agendamento */
body.model-lavanderia .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-lavanderia .product-card,
body.model-lavanderia .product-info,
body.model-lavanderia .appointment-actions{min-width:0}
@media(max-width:820px){body.model-lavanderia .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-lavanderia .products{grid-template-columns:1fr}}


/* COSTUREIRA / ATELIÊ — serviço/agendamento */
body.model-costureira-atelie .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-costureira-atelie .product-card,
body.model-costureira-atelie .product-info,
body.model-costureira-atelie .appointment-actions{min-width:0}
@media(max-width:820px){body.model-costureira-atelie .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-costureira-atelie .products{grid-template-columns:1fr}}

/* SAPATEIRO — serviço/agendamento */
body.model-sapateiro .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-sapateiro .product-card,
body.model-sapateiro .product-info,
body.model-sapateiro .appointment-actions{min-width:0}
@media(max-width:820px){body.model-sapateiro .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-sapateiro .products{grid-template-columns:1fr}}

/* SERVIÇOS — regra única de cartões: desktop >=1024, tablet 561–1023, celular <=560 */
body.segment-servicos .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.segment-servicos .product-card,
body.segment-servicos .product-info,
body.segment-servicos .appointment-actions{min-width:0}
@media(max-width:1023px){body.segment-servicos .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.segment-servicos .products{grid-template-columns:minmax(0,1fr)}}

/* BELEZA — agenda e comercio: 4 colunas desktop >=1024, 2 tablet, 1 celular */
body.segment-beleza.storefront-service .products,
body.segment-beleza.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.segment-beleza .product-card,
body.segment-beleza .product-info,
body.segment-beleza .appointment-actions{min-width:0}
@media(max-width:1023px){body.segment-beleza.storefront-service .products,body.segment-beleza.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.segment-beleza.storefront-service .products,body.segment-beleza.storefront-product .products{grid-template-columns:minmax(0,1fr)}}

/* BELEZA: faixa de tablet pequeno (561–640), sem cartões horizontais forçados pelo mobile global */
@media(min-width:561px) and (max-width:640px){
  body.segment-beleza.storefront-service .products,body.segment-beleza.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  body.segment-beleza.storefront-service .product-card,body.segment-beleza.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
  body.segment-beleza.storefront-service .product-image,body.segment-beleza.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
  body.segment-beleza .product-info{flex:1}
}

/* OFICINA MECANICA — grade de servicos: 4 desktop, 2 tablet, 1 celular. Isolado ao modelo. */
body.model-oficina.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-oficina .product-card,body.model-oficina .product-info,body.model-oficina .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-oficina.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-oficina.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-oficina.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-oficina.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-oficina.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-oficina.storefront-service .product-info{flex:1}
}

/* LAVA-JATO — apenas servicos com agenda: grade 4 desktop, 2 tablet, 1 celular. */
body.model-lavajato.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-lavajato .product-card,body.model-lavajato .product-info,body.model-lavajato .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-lavajato.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-lavajato.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-lavajato.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-lavajato.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-lavajato.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-lavajato.storefront-service .product-info{flex:1}
}

/* LAVA-JATO — nome completo da marca visível no cabeçalho mobile com CTA de lavagem. */
@media(max-width:640px){
 body.model-lavajato .store-header .brand{font-size:.9rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}
}

/* ESTETICA AUTOMOTIVA — somente prestacao de servicos: 4 desktop, 2 tablet, 1 celular */
body.model-estetica-automotiva.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-estetica-automotiva .product-card,body.model-estetica-automotiva .product-info,body.model-estetica-automotiva .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-estetica-automotiva.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-estetica-automotiva.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-estetica-automotiva.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-estetica-automotiva.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-estetica-automotiva.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-estetica-automotiva.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-estetica-automotiva .store-header .brand{font-size:.8rem;line-height:1.1;-webkit-line-clamp:4;overflow-wrap:anywhere}}

/* AUTOPECAS — comercio com carrinho: 4 cards desktop, 2 tablet, 1 celular. */
body.model-autopecas.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-autopecas .product-card,body.model-autopecas .product-info{min-width:0}
@media(max-width:1023px){body.model-autopecas.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-autopecas.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-autopecas.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-autopecas.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-autopecas.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-autopecas.storefront-product .product-info{flex:1}
}

/* LOJA DE PNEUS — comercio com carrinho: 4 cards desktop, 2 tablet, 1 celular. */
body.model-pneus.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-pneus .product-card,body.model-pneus .product-info{min-width:0}
@media(max-width:1023px){body.model-pneus.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-pneus.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-pneus.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-pneus.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-pneus.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-pneus.storefront-product .product-info{flex:1}
}

/* BORRACHARIA — agenda de servicos: 4 cards desktop, 2 tablet, 1 celular. */
body.model-borracharia.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-borracharia .product-card,body.model-borracharia .product-info,body.model-borracharia .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-borracharia.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-borracharia.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-borracharia.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-borracharia.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-borracharia.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-borracharia.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-borracharia .store-header .brand{font-size:.88rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}

/* DESPACHANTE — atendimentos agendados: 4 cards desktop, 2 tablet, 1 celular. */
body.model-despachante.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-despachante .product-card,body.model-despachante .product-info,body.model-despachante .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-despachante.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-despachante.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-despachante.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-despachante.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-despachante.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-despachante.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-despachante .store-header .brand{font-size:.86rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}

/* OFICINA DE MOTOS — serviços agendados: 4 desktop, 2 tablet, 1 celular. */
body.model-oficina-motos.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-oficina-motos .product-card,body.model-oficina-motos .product-info,body.model-oficina-motos .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-oficina-motos.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-oficina-motos.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-oficina-motos.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-oficina-motos.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-oficina-motos.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-oficina-motos.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-oficina-motos .store-header .brand{font-size:.78rem;line-height:1.10;-webkit-line-clamp:5;overflow-wrap:anywhere}}

/* FUNILARIA E PINTURA — serviços de avaliação e orçamento, sem carrinho. */
body.model-funilaria-pintura.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-funilaria-pintura .product-card,body.model-funilaria-pintura .product-info,body.model-funilaria-pintura .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-funilaria-pintura.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-funilaria-pintura.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-funilaria-pintura.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-funilaria-pintura.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-funilaria-pintura.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-funilaria-pintura.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-funilaria-pintura .store-header .brand{font-size:.80rem;line-height:1.1;-webkit-line-clamp:4;overflow-wrap:anywhere}}

/* AUTOESCOLA — serviços e aulas agendadas, sem carrinho público. */
body.model-autoescola.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-autoescola .product-card,body.model-autoescola .product-info,body.model-autoescola .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-autoescola.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-autoescola.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-autoescola.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-autoescola.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-autoescola.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-autoescola.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-autoescola .store-header .brand{font-size:.89rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}

/* LOCADORA DE VEICULOS — reservas por periodo, sem carrinho de compras. */
body.model-locadora-veiculos.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-locadora-veiculos .product-card,body.model-locadora-veiculos .product-info,body.model-locadora-veiculos .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-locadora-veiculos.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-locadora-veiculos.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-locadora-veiculos.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-locadora-veiculos.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-locadora-veiculos.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-locadora-veiculos.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-locadora-veiculos .store-header .brand{font-size:.73rem;line-height:1.12;-webkit-line-clamp:5;overflow-wrap:anywhere}}

/* ESTACIONAMENTO — reserva de vaga por periodo, sem carrinho. */
body.model-estacionamento.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-estacionamento .product-card,body.model-estacionamento .product-info,body.model-estacionamento .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-estacionamento.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-estacionamento.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-estacionamento.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-estacionamento.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-estacionamento.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-estacionamento.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-estacionamento .store-header .brand{font-size:.8rem;line-height:1.12;-webkit-line-clamp:4;overflow-wrap:anywhere}}

/* GUINCHO — solicitacao de socorro com origem, destino e veiculo, sem carrinho. */
body.model-guincho.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-guincho .product-card,body.model-guincho .product-info,body.model-guincho .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-guincho.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-guincho.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-guincho.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-guincho.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-guincho.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-guincho.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-guincho .store-header .brand{font-size:.86rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}

/* ACADEMIA — planos/matriculas e aulas/agendamentos, sem carrinho. */
body.model-academia.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-academia .product-card,body.model-academia .product-info,body.model-academia .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-academia.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-academia.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-academia.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-academia.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-academia.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-academia.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-academia .store-header .brand{font-size:.88rem;line-height:1.1;-webkit-line-clamp:3;overflow-wrap:anywhere}}

/* PERSONAL TRAINER — sessoes com agenda, planos por matricula, sem carrinho. */
body.model-personal-trainer.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-personal-trainer .product-card,body.model-personal-trainer .product-info,body.model-personal-trainer .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-personal-trainer.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-personal-trainer.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-personal-trainer.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-personal-trainer.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-personal-trainer.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-personal-trainer.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-personal-trainer .store-header .brand{font-size:.77rem;line-height:1.11;-webkit-line-clamp:4;overflow-wrap:anywhere}}

/* PILATES — aulas agendadas e planos de acompanhamento, sem carrinho. */
body.model-pilates.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-pilates .product-card,body.model-pilates .product-info,body.model-pilates .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-pilates.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-pilates.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-pilates.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-pilates.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-pilates.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-pilates.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-pilates .store-header .brand{font-size:.85rem;line-height:1.11;-webkit-line-clamp:3;overflow-wrap:anywhere}}

/* ESCOLA DE DANCA — turmas com matricula, aulas individuais agendadas. */
body.model-danca.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-danca .product-card,body.model-danca .product-info,body.model-danca .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-danca.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-danca.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-danca.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-danca.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-danca.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-danca.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-danca .store-header .brand{font-size:.87rem;line-height:1.11;-webkit-line-clamp:3;overflow-wrap:anywhere}}

/* ARTES MARCIAIS — turmas com matricula e aulas agendadas, sem carrinho. */
body.model-artes-marciais.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-artes-marciais .product-card,body.model-artes-marciais .product-info,body.model-artes-marciais .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-artes-marciais.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-artes-marciais.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-artes-marciais.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-artes-marciais.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-artes-marciais.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-artes-marciais.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-artes-marciais .store-header .brand{font-size:.79rem;line-height:1.11;-webkit-line-clamp:4;overflow-wrap:anywhere}}

/* LOJA DE BICICLETAS — comercio com carrinho, quatro produtos por linha desktop. */
body.model-loja-bicicletas.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-loja-bicicletas .product-card,body.model-loja-bicicletas .product-info{min-width:0}
@media(max-width:1023px){body.model-loja-bicicletas.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-loja-bicicletas.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-loja-bicicletas.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-loja-bicicletas.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-loja-bicicletas.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-loja-bicicletas.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-loja-bicicletas .store-header .brand{font-size:.78rem;line-height:1.11;-webkit-line-clamp:4;overflow-wrap:anywhere}}

/* QUADRA ESPORTIVA — 5 reservas de quadra, 4 atividades e 7 orcamentos. */
body.model-quadra-esportiva.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-quadra-esportiva .product-card,body.model-quadra-esportiva .product-info,body.model-quadra-esportiva .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-quadra-esportiva.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-quadra-esportiva.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-quadra-esportiva.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-quadra-esportiva.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-quadra-esportiva.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-quadra-esportiva.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-quadra-esportiva .store-header .brand{font-size:.77rem;line-height:1.11;-webkit-line-clamp:4;overflow-wrap:anywhere}}

/* LOJA DE SUPLEMENTOS — comercio com carrinho, produtos e estoque. */
body.model-loja-suplementos.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-loja-suplementos .product-card,body.model-loja-suplementos .product-info{min-width:0}
@media(max-width:1023px){body.model-loja-suplementos.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-loja-suplementos.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-loja-suplementos.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-loja-suplementos.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-loja-suplementos.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-loja-suplementos.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-loja-suplementos .store-header .brand{font-size:.77rem;line-height:1.1;-webkit-line-clamp:4;overflow-wrap:anywhere}}

/* IMOBILIARIA — visitas a imoveis com agenda, sem carrinho publico. */
body.model-imobiliaria.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-imobiliaria .product-card,body.model-imobiliaria .product-info,body.model-imobiliaria .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-imobiliaria.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-imobiliaria.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-imobiliaria.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-imobiliaria.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-imobiliaria.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-imobiliaria.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-imobiliaria .store-header .brand{font-size:.86rem;line-height:1.11;-webkit-line-clamp:3;overflow-wrap:anywhere}}

/* CORRETOR DE IMOVEIS — catalogo de oportunidades com visitas agendadas. */
body.model-corretor.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-corretor .product-card,body.model-corretor .product-info,body.model-corretor .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-corretor.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-corretor.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-corretor.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-corretor.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-corretor.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-corretor.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-corretor .store-header .brand{font-size:.82rem;line-height:1.11;-webkit-line-clamp:4;overflow-wrap:anywhere}}

/* ADMINISTRACAO DE IMOVEIS — vistorias e atendimentos agendados, sem carrinho. */
body.model-administracao-imoveis.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-administracao-imoveis .product-card,body.model-administracao-imoveis .product-info,body.model-administracao-imoveis .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-administracao-imoveis.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-administracao-imoveis.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-administracao-imoveis.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-administracao-imoveis.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-administracao-imoveis.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-administracao-imoveis.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-administracao-imoveis .store-header .brand{font-size:.70rem;line-height:1.10;-webkit-line-clamp:5;overflow-wrap:anywhere}}

/* ALUGUEL DE IMOVEIS — visitas agendadas, sem carrinho. */
body.model-aluguel-imoveis.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-aluguel-imoveis .product-card,body.model-aluguel-imoveis .product-info,body.model-aluguel-imoveis .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-aluguel-imoveis.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-aluguel-imoveis.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-aluguel-imoveis.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-aluguel-imoveis.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-aluguel-imoveis.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-aluguel-imoveis.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-aluguel-imoveis .store-header .brand{font-size:.82rem;line-height:1.10;-webkit-line-clamp:4;overflow-wrap:anywhere}}

/* CONDOMINIOS — gestao de moradores e atendimentos, sem carrinho publico. */
body.model-condominios.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-condominios .product-card,body.model-condominios .product-info,body.model-condominios .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-condominios.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-condominios.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-condominios.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-condominios.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-condominios.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-condominios.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-condominios .store-header .brand{font-size:.81rem;line-height:1.10;-webkit-line-clamp:4;overflow-wrap:anywhere}}

/* ADMINISTRADORA DE CONDOMINIOS — atendimentos agendados e gestao, sem carrinho. */
body.model-administradora-condominios.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-administradora-condominios .product-card,body.model-administradora-condominios .product-info,body.model-administradora-condominios .appointment-actions{min-width:0}
@media(max-width:1023px){body.model-administradora-condominios.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-administradora-condominios.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-administradora-condominios.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-administradora-condominios.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-administradora-condominios.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-administradora-condominios.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-administradora-condominios .store-header .brand{font-size:.70rem;line-height:1.10;-webkit-line-clamp:5;overflow-wrap:anywhere}}

/* Nome longo: usar duas linhas no cabecalho mobile, sem quebrar palavras no meio. */
@media(max-width:640px){
 body.model-administradora-condominios .store-header{grid-template-columns:minmax(0,1fr) auto !important;grid-template-areas:'marca marca' 'conta acao';column-gap:8px;row-gap:6px;padding-top:9px !important;padding-bottom:9px !important}
 body.model-administradora-condominios .store-header .brand{grid-area:marca;font-size:.93rem;line-height:1.12;overflow-wrap:normal;word-break:normal;-webkit-line-clamp:2}
 body.model-administradora-condominios .store-header .customer-account-link{grid-area:conta;justify-self:start}
 body.model-administradora-condominios .store-header .clinic-header-appointment{grid-area:acao;justify-self:end}
}

/* VAREJO / LOJA DE ROUPAS — grade de produtos com variantes e carrinho preservados. */
body.model-roupas.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-roupas .product-card,body.model-roupas .product-info{min-width:0}
@media(max-width:1023px){body.model-roupas.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-roupas.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-roupas.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-roupas.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-roupas.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-roupas.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-roupas .store-header .brand{font-size:.82rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}

/* VAREJO / LOJA DE CALCADOS — vitrine comercial com numeracoes e carrinho. */
body.model-calcados.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-calcados .product-card,body.model-calcados .product-info{min-width:0}
@media(max-width:1023px){body.model-calcados.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-calcados.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-calcados.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-calcados.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-calcados.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-calcados.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-calcados .store-header .brand{font-size:.82rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}

/* VAREJO / FERRAGISTA — ferramentas, ferragens e produtos com carrinho. */
body.model-ferragista.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-ferragista .product-card,body.model-ferragista .product-info{min-width:0}
@media(max-width:1023px){body.model-ferragista.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-ferragista.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-ferragista.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-ferragista.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-ferragista.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-ferragista.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-ferragista .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}

/* VAREJO / MATERIAL DE CONSTRUCAO — grade comercial para materiais, pedidos e entrega. */
body.model-material-construcao.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-material-construcao .product-card,body.model-material-construcao .product-info{min-width:0}
@media(max-width:1023px){body.model-material-construcao.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-material-construcao.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-material-construcao.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-material-construcao.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-material-construcao.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-material-construcao.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-material-construcao .store-header .brand{font-size:.81rem;line-height:1.12;-webkit-line-clamp:4;overflow-wrap:anywhere}}

/* MATERIAL DE CONSTRUCAO / checkout 320px: impedir largura minima dos paineis. */
@media(max-width:560px){
 body.model-material-construcao .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-material-construcao .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-material-construcao .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-material-construcao .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-material-construcao .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* VAREJO / ELETRONICOS — vitrine comercial responsiva, produtos e carrinho. */
body.model-eletronicos.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-eletronicos .product-card,body.model-eletronicos .product-info{min-width:0}
@media(max-width:1023px){body.model-eletronicos.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-eletronicos.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-eletronicos.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-eletronicos.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-eletronicos.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-eletronicos.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-eletronicos .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}

/* ELETRONICOS / checkout estreito: paineis sem largura minima excedente em 320px. */
@media(max-width:560px){
 body.model-eletronicos .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-eletronicos .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-eletronicos .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-eletronicos .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-eletronicos .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* VAREJO / SUPERMERCADO — mercearia, hortifruti e itens de compra. */
body.model-supermercado.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-supermercado .product-card,body.model-supermercado .product-info{min-width:0}
@media(max-width:1023px){body.model-supermercado.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-supermercado.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-supermercado.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-supermercado.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-supermercado.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-supermercado.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-supermercado .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
/* Checkout responsivo em telas pequenas, preservando entrega/retirada e meios de pagamento. */
@media(max-width:560px){
 body.model-supermercado .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-supermercado .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-supermercado .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-supermercado .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-supermercado .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* VAREJO / PAPELARIA — materiais escolares, escritorio e artes. */
body.model-papelaria.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-papelaria .product-card,body.model-papelaria .product-info{min-width:0}
@media(max-width:1023px){body.model-papelaria.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-papelaria.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-papelaria.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-papelaria.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-papelaria.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-papelaria.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-papelaria .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:560px){
 body.model-papelaria .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-papelaria .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-papelaria .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-papelaria .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-papelaria .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* VAREJO / LOJA DE VARIEDADES — casa, cozinha, limpeza e presentes. */
body.model-loja-variedades.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-loja-variedades .product-card,body.model-loja-variedades .product-info{min-width:0}
@media(max-width:1023px){body.model-loja-variedades.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-loja-variedades.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-loja-variedades.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-loja-variedades.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-loja-variedades.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-loja-variedades.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-loja-variedades .store-header .brand{font-size:.82rem;line-height:1.12;-webkit-line-clamp:4;overflow-wrap:anywhere}}
@media(max-width:560px){
 body.model-loja-variedades .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-loja-variedades .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-loja-variedades .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-loja-variedades .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-loja-variedades .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* VAREJO / CASA DE EMBALAGENS — descartaveis, sacolas, caixas, festas e delivery. */
body.model-casa-embalagens.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-casa-embalagens .product-card,body.model-casa-embalagens .product-info{min-width:0}
@media(max-width:1023px){body.model-casa-embalagens.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-casa-embalagens.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-casa-embalagens.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-casa-embalagens.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-casa-embalagens.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-casa-embalagens.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-casa-embalagens .store-header .brand{font-size:.82rem;line-height:1.12;-webkit-line-clamp:4;overflow-wrap:anywhere}}
@media(max-width:560px){
 body.model-casa-embalagens .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-casa-embalagens .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-casa-embalagens .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-casa-embalagens .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-casa-embalagens .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* VAREJO / SEX SHOP — catalogo adulto com apresentacao discreta e responsiva. */
body.model-sex-shop.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-sex-shop .product-card,body.model-sex-shop .product-info{min-width:0}
@media(max-width:1023px){body.model-sex-shop.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-sex-shop.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-sex-shop.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-sex-shop.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-sex-shop.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-sex-shop.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-sex-shop .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:560px){
 body.model-sex-shop .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-sex-shop .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-sex-shop .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-sex-shop .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-sex-shop .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* VAREJO / CONVENIENCIA — bebidas, snacks, doces, higiene e utilidades. */
body.model-conveniencia.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-conveniencia .product-card,body.model-conveniencia .product-info{min-width:0}
@media(max-width:1023px){body.model-conveniencia.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-conveniencia.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-conveniencia.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-conveniencia.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-conveniencia.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-conveniencia.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-conveniencia .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:560px){
 body.model-conveniencia .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-conveniencia .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-conveniencia .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-conveniencia .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-conveniencia .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* VAREJO / OTICA — vitrine responsiva de armacoes, oculos, lentes e acessorios. */
body.model-otica.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-otica .product-card,body.model-otica .product-info{min-width:0}
@media(max-width:1023px){body.model-otica.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-otica.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-otica.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-otica.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-otica.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-otica.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-otica .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:560px){
 body.model-otica .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-otica .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-otica .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-otica .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-otica .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* VAREJO / JOALHERIA E SEMIJOIAS — aneis, brincos, colares e pulseiras. */
body.model-joalheria-semijoias.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-joalheria-semijoias .product-card,body.model-joalheria-semijoias .product-info{min-width:0}
@media(max-width:1023px){body.model-joalheria-semijoias.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-joalheria-semijoias.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-joalheria-semijoias.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-joalheria-semijoias.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-joalheria-semijoias.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-joalheria-semijoias.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-joalheria-semijoias .store-header .brand{font-size:.82rem;line-height:1.12;-webkit-line-clamp:4;overflow-wrap:anywhere}}
@media(max-width:560px){
 body.model-joalheria-semijoias .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-joalheria-semijoias .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-joalheria-semijoias .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-joalheria-semijoias .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-joalheria-semijoias .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* VAREJO / FLORICULTURA — flores, arranjos, plantas, presentes e entregas. */
body.model-floricultura.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-floricultura .product-card,body.model-floricultura .product-info{min-width:0}
@media(max-width:1023px){body.model-floricultura.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-floricultura.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-floricultura.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-floricultura.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-floricultura.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-floricultura.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-floricultura .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:560px){
 body.model-floricultura .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-floricultura .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-floricultura .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-floricultura .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-floricultura .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* VAREJO / LOJA DE PRESENTES — lembrancas, cestas e produtos personalizados. */
body.model-loja-presentes.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-loja-presentes .product-card,body.model-loja-presentes .product-info{min-width:0}
@media(max-width:1023px){body.model-loja-presentes.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-loja-presentes.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-loja-presentes.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-loja-presentes.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-loja-presentes.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-loja-presentes.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-loja-presentes .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:560px){
 body.model-loja-presentes .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-loja-presentes .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-loja-presentes .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-loja-presentes .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-loja-presentes .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* VAREJO / ARMARINHO — costura, artesanato, linhas, las e aviamentos. */
body.model-armarinho.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-armarinho .product-card,body.model-armarinho .product-info{min-width:0}
@media(max-width:1023px){body.model-armarinho.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-armarinho.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-armarinho.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-armarinho.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-armarinho.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-armarinho.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-armarinho .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:560px){
 body.model-armarinho .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-armarinho .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-armarinho .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-armarinho .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-armarinho .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* VAREJO / UTILIDADES DOMESTICAS — cozinha, limpeza, organizacao e banheiro. */
body.model-utilidades-domesticas.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-utilidades-domesticas .product-card,body.model-utilidades-domesticas .product-info{min-width:0}
@media(max-width:1023px){body.model-utilidades-domesticas.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-utilidades-domesticas.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-utilidades-domesticas.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-utilidades-domesticas.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-utilidades-domesticas.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-utilidades-domesticas.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-utilidades-domesticas .store-header .brand{font-size:.81rem;line-height:1.12;-webkit-line-clamp:4;overflow-wrap:anywhere}}
@media(max-width:560px){
 body.model-utilidades-domesticas .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-utilidades-domesticas .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-utilidades-domesticas .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-utilidades-domesticas .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-utilidades-domesticas .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* VAREJO / BRINQUEDOS — bebês, educativos, personagens e jogos. */
body.model-brinquedos.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-brinquedos .product-card,body.model-brinquedos .product-info{min-width:0}
@media(max-width:1023px){body.model-brinquedos.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-brinquedos.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-brinquedos.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-brinquedos.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-brinquedos.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-brinquedos.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-brinquedos .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:560px){
 body.model-brinquedos .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-brinquedos .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-brinquedos .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-brinquedos .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-brinquedos .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* VAREJO / LIVRARIA — literatura, infantil, didaticos e papelaria. */
body.model-livraria.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-livraria .product-card,body.model-livraria .product-info{min-width:0}
@media(max-width:1023px){body.model-livraria.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-livraria.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-livraria.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-livraria.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-livraria.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-livraria.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-livraria .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:560px){
 body.model-livraria .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-livraria .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-livraria .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-livraria .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-livraria .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* PETS / PET SHOP — produtos de alimentacao, higiene, brinquedos e acessorios. */
body.model-petshop.storefront-product .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-petshop .product-card,body.model-petshop .product-info{min-width:0}
@media(max-width:1023px){body.model-petshop.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-petshop.storefront-product .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-petshop.storefront-product .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-petshop.storefront-product .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-petshop.storefront-product .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-petshop.storefront-product .product-info{flex:1}
}
@media(max-width:640px){body.model-petshop .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:560px){
 body.model-petshop .checkout-grid{grid-template-columns:minmax(0,1fr)}
 body.model-petshop .checkout-grid>.panel{min-width:0;max-width:100%;width:100%}
 body.model-petshop .checkout-grid .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.model-petshop .checkout-grid .choice-row label{min-width:0;padding:10px 8px;font-size:14px}
 body.model-petshop .checkout-grid .privacy-check{min-width:0;overflow-wrap:anywhere}
}

/* PETS / BANHO E TOSA — agenda pura, mantendo o padrao visual de agendamento. */
body.model-banho-tosa.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-banho-tosa .product-card,body.model-banho-tosa .product-info{min-width:0}
@media(max-width:1023px){body.model-banho-tosa.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-banho-tosa.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-banho-tosa.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-banho-tosa.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-banho-tosa.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-banho-tosa.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-banho-tosa .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}

/* PETS / CLINICA VETERINARIA — agendamento puro, sem carrinho. */
body.model-clinica-veterinaria.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-clinica-veterinaria .product-card,body.model-clinica-veterinaria .product-info{min-width:0}
@media(max-width:1023px){body.model-clinica-veterinaria.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-clinica-veterinaria.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-clinica-veterinaria.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-clinica-veterinaria.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-clinica-veterinaria.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-clinica-veterinaria.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-clinica-veterinaria .store-header .brand{font-size:.79rem;line-height:1.12;-webkit-line-clamp:4;overflow-wrap:anywhere}}

/* PETS / HOTEL PET — hospedagem por periodo, creche e cuidados por agendamento. */
body.model-hotel-pet.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-hotel-pet .product-card,body.model-hotel-pet .product-info{min-width:0}
@media(max-width:1023px){body.model-hotel-pet.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-hotel-pet.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-hotel-pet.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-hotel-pet.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-hotel-pet.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-hotel-pet.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-hotel-pet .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:560px){
 body.model-hotel-pet .checkout-wrap,body.model-hotel-pet .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-hotel-pet .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-hotel-pet .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-hotel-pet .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}
/* Hotel Pet: preservar nome completo e CTA de reserva em celulares estreitos. */
@media(max-width:360px){
 body.model-hotel-pet .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-hotel-pet .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.84rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-hotel-pet .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-hotel-pet .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}

/* PETS / ADESTRAMENTO — aulas e avaliacoes com agenda, planos com solicitacao. */
body.model-adestramento.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-adestramento .product-card,body.model-adestramento .product-info{min-width:0}
@media(max-width:1023px){body.model-adestramento.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-adestramento.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-adestramento.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-adestramento.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-adestramento.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-adestramento.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-adestramento .store-header .brand{font-size:.81rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-adestramento .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-adestramento .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.84rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-adestramento .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-adestramento .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-adestramento .checkout-wrap,body.model-adestramento .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-adestramento .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-adestramento .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-adestramento .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* EDUCACAO / ESCOLA — matriculas e atendimentos, sem carrinho. */
body.model-escola.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-escola .product-card,body.model-escola .product-info{min-width:0}
@media(max-width:1023px){body.model-escola.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-escola.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-escola.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-escola.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-escola.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-escola.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-escola .store-header .brand{font-size:.85rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-escola .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-escola .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.84rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-escola .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-escola .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-escola .checkout-wrap,body.model-escola .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-escola .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-escola .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-escola .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* EDUCACAO / CURSOS PROFISSIONALIZANTES — matricula + atendimento, nunca carrinho. */
body.model-cursos.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-cursos .product-card,body.model-cursos .product-info{min-width:0}
@media(max-width:1023px){body.model-cursos.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-cursos.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-cursos.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-cursos.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-cursos.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-cursos.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-cursos .store-header .brand{font-size:.81rem;line-height:1.12;-webkit-line-clamp:4;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-cursos .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-cursos .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.84rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-cursos .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-cursos .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-cursos .checkout-wrap,body.model-cursos .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-cursos .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-cursos .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-cursos .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* EDUCACAO / ESCOLA DE IDIOMAS — cursos e planos para matricula; aulas e niveis por agenda. */
body.model-idiomas.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-idiomas .product-card,body.model-idiomas .product-info{min-width:0}
@media(max-width:1023px){body.model-idiomas.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-idiomas.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-idiomas.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-idiomas.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-idiomas.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-idiomas.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-idiomas .store-header .brand{font-size:.81rem;line-height:1.12;-webkit-line-clamp:4;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-idiomas .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-idiomas .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.84rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-idiomas .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-idiomas .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-idiomas .checkout-wrap,body.model-idiomas .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-idiomas .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-idiomas .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-idiomas .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* EDUCACAO / REFORCO ESCOLAR — aulas e avaliacoes agendadas, pacotes em solicitacao. */
body.model-reforco.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-reforco .product-card,body.model-reforco .product-info{min-width:0}
@media(max-width:1023px){body.model-reforco.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-reforco.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-reforco.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-reforco.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-reforco.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-reforco.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-reforco .store-header .brand{font-size:.81rem;line-height:1.12;-webkit-line-clamp:4;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-reforco .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-reforco .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.84rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-reforco .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-reforco .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-reforco .checkout-wrap,body.model-reforco .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-reforco .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-reforco .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-reforco .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* EDUCACAO / PROFESSOR PARTICULAR — aulas por agendamento, pacotes por solicitacao. */
body.model-professor-particular.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-professor-particular .product-card,body.model-professor-particular .product-info{min-width:0}
@media(max-width:1023px){body.model-professor-particular.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-professor-particular.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-professor-particular.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-professor-particular.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-professor-particular.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-professor-particular.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-professor-particular .store-header .brand{font-size:.79rem;line-height:1.12;-webkit-line-clamp:4;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-professor-particular .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-professor-particular .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.84rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-professor-particular .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-professor-particular .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-professor-particular .checkout-wrap,body.model-professor-particular .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-professor-particular .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-professor-particular .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-professor-particular .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* EDUCACAO / CRECHE — solicitacao de vagas sem carrinho. */
body.model-creche.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-creche .product-card,body.model-creche .product-info{min-width:0}
@media(max-width:1023px){body.model-creche.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-creche.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-creche.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-creche.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-creche.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-creche.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-creche .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-creche .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-creche .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.84rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-creche .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-creche .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-creche .checkout-wrap,body.model-creche .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-creche .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-creche .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-creche .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* EDUCACAO / ESCOLA INFANTIL — matricula escolar sem carrinho. */
body.model-escola-infantil.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-escola-infantil .product-card,body.model-escola-infantil .product-info{min-width:0}
@media(max-width:1023px){body.model-escola-infantil.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-escola-infantil.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-escola-infantil.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-escola-infantil.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-escola-infantil.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-escola-infantil.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-escola-infantil .store-header .brand{font-size:.83rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-escola-infantil .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-escola-infantil .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.84rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-escola-infantil .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-escola-infantil .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-escola-infantil .checkout-wrap,body.model-escola-infantil .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-escola-infantil .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-escola-infantil .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-escola-infantil .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* EDUCACAO / PSICOPEDAGOGIA — sessoes agendadas, planos por solicitacao. */
body.model-psicopedagogia.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-psicopedagogia .product-card,body.model-psicopedagogia .product-info{min-width:0}
@media(max-width:1023px){body.model-psicopedagogia.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-psicopedagogia.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-psicopedagogia.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-psicopedagogia.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-psicopedagogia.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-psicopedagogia.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-psicopedagogia .store-header .brand{font-size:.79rem;line-height:1.12;-webkit-line-clamp:4;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-psicopedagogia .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-psicopedagogia .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.84rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-psicopedagogia .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-psicopedagogia .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-psicopedagogia .checkout-wrap,body.model-psicopedagogia .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-psicopedagogia .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-psicopedagogia .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-psicopedagogia .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}
/* Psicopedagogia: titulo completo de acompanhamento no formulario em 320px. */
@media(max-width:360px){body.model-psicopedagogia .checkout-wrap h1{font-size:1.5rem;line-height:1.26;overflow-wrap:break-word}}

/* EDUCACAO / MUSICA — aulas com agendamento; cursos e planos com solicitacao. */
body.model-musica.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-musica .product-card,body.model-musica .product-info{min-width:0}
@media(max-width:1023px){body.model-musica.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-musica.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-musica.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-musica.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-musica.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-musica.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-musica .store-header .brand{font-size:.84rem;line-height:1.12;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-musica .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-musica .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.86rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-musica .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-musica .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-musica .checkout-wrap,body.model-musica .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-musica .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-musica .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-musica .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* LAZER — PESQUE-PAGUE: reservas de experiencias, orcamentos e cardapio sem carrinho. */
body.model-pesque-pague.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-pesque-pague .product-card,body.model-pesque-pague .product-info{min-width:0}
@media(max-width:1023px){body.model-pesque-pague.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-pesque-pague.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-pesque-pague.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-pesque-pague.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-pesque-pague.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-pesque-pague.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-pesque-pague .store-header .brand{font-size:.82rem;line-height:1.15;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-pesque-pague .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-pesque-pague .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.88rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-pesque-pague .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-pesque-pague .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-pesque-pague .checkout-wrap,body.model-pesque-pague .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-pesque-pague .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-pesque-pague .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-pesque-pague .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* EVENTOS — CHÁCARA: catálogo de locações/reservas, sem carrinho */
body.model-chacara-eventos.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-chacara-eventos .product-card,body.model-chacara-eventos .product-info{min-width:0}
@media(max-width:1023px){body.model-chacara-eventos.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-chacara-eventos.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-chacara-eventos.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-chacara-eventos.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-chacara-eventos.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-chacara-eventos.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-chacara-eventos .store-header .brand{font-size:.82rem;line-height:1.15;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-chacara-eventos .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-chacara-eventos .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.88rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-chacara-eventos .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-chacara-eventos .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-chacara-eventos .checkout-wrap,body.model-chacara-eventos .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-chacara-eventos .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-chacara-eventos .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-chacara-eventos .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* HOSPEDAGEM & TURISMO — CAMPING: diárias, informações e experiências sem carrinho */
body.model-camping.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-camping .product-card,body.model-camping .product-info{min-width:0}
@media(max-width:1023px){body.model-camping.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-camping.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-camping.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-camping.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-camping.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-camping.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-camping .store-header .brand{font-size:.82rem;line-height:1.15;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-camping .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-camping .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.88rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-camping .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-camping .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-camping .checkout-wrap,body.model-camping .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-camping .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-camping .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-camping .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* HOSPEDAGEM & TURISMO — GUIA TURISTICO: 16 passeios sem carrinho */
body.model-guia-turistico.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-guia-turistico .product-card,body.model-guia-turistico .product-info{min-width:0}
@media(max-width:1023px){body.model-guia-turistico.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-guia-turistico.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-guia-turistico.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-guia-turistico.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-guia-turistico.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-guia-turistico.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-guia-turistico .store-header .brand{font-size:.82rem;line-height:1.15;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-guia-turistico .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-guia-turistico .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.88rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-guia-turistico .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-guia-turistico .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-guia-turistico .checkout-wrap,body.model-guia-turistico .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-guia-turistico .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-guia-turistico .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-guia-turistico .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* Hospedagem e turismo: excursoes, vitrine 4/2/1 e formulários sem carrinho */
body.model-excursoes.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-excursoes .product-card,body.model-excursoes .product-info{min-width:0}
@media(max-width:1023px){body.model-excursoes.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-excursoes.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-excursoes.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-excursoes.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-excursoes.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-excursoes.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-excursoes .store-header .brand{font-size:.82rem;line-height:1.15;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-excursoes .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-excursoes .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.88rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-excursoes .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-excursoes .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-excursoes .checkout-wrap,body.model-excursoes .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-excursoes .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-excursoes .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-excursoes .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* Hospedagem e turismo: turismo-rural, vitrine 4/2/1 e formulários sem carrinho */
body.model-turismo-rural.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-turismo-rural .product-card,body.model-turismo-rural .product-info{min-width:0}
@media(max-width:1023px){body.model-turismo-rural.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-turismo-rural.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-turismo-rural.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-turismo-rural.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-turismo-rural.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-turismo-rural.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-turismo-rural .store-header .brand{font-size:.82rem;line-height:1.15;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-turismo-rural .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-turismo-rural .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.88rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-turismo-rural .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-turismo-rural .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-turismo-rural .checkout-wrap,body.model-turismo-rural .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-turismo-rural .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-turismo-rural .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-turismo-rural .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* Hospedagem e turismo: hotel, vitrine 4/2/1 e formulários sem carrinho */
body.model-hotel.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-hotel .product-card,body.model-hotel .product-info{min-width:0}
@media(max-width:1023px){body.model-hotel.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-hotel.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-hotel.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-hotel.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-hotel.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-hotel.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-hotel .store-header .brand{font-size:.82rem;line-height:1.15;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-hotel .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-hotel .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.88rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-hotel .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-hotel .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-hotel .checkout-wrap,body.model-hotel .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-hotel .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-hotel .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-hotel .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* Hospedagem e turismo: pousada, vitrine 4/2/1 e formulários sem carrinho */
body.model-pousada.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-pousada .product-card,body.model-pousada .product-info{min-width:0}
@media(max-width:1023px){body.model-pousada.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-pousada.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-pousada.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-pousada.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-pousada.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-pousada.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-pousada .store-header .brand{font-size:.82rem;line-height:1.15;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-pousada .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-pousada .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.88rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-pousada .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-pousada .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-pousada .checkout-wrap,body.model-pousada .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-pousada .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-pousada .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-pousada .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* Hospedagem e turismo: aluguel-temporada, vitrine 4/2/1 e formulários sem carrinho */
body.model-aluguel-temporada.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-aluguel-temporada .product-card,body.model-aluguel-temporada .product-info{min-width:0}
@media(max-width:1023px){body.model-aluguel-temporada.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-aluguel-temporada.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-aluguel-temporada.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-aluguel-temporada.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-aluguel-temporada.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-aluguel-temporada.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-aluguel-temporada .store-header .brand{font-size:.82rem;line-height:1.15;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-aluguel-temporada .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-aluguel-temporada .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.88rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-aluguel-temporada .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-aluguel-temporada .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-aluguel-temporada .checkout-wrap,body.model-aluguel-temporada .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-aluguel-temporada .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-aluguel-temporada .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-aluguel-temporada .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* Hospedagem e turismo: agencia-viagens, vitrine 4/2/1 e formulários sem carrinho */
body.model-agencia-viagens.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-agencia-viagens .product-card,body.model-agencia-viagens .product-info{min-width:0}
@media(max-width:1023px){body.model-agencia-viagens.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-agencia-viagens.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-agencia-viagens.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-agencia-viagens.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-agencia-viagens.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-agencia-viagens.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-agencia-viagens .store-header .brand{font-size:.82rem;line-height:1.15;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-agencia-viagens .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-agencia-viagens .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.88rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-agencia-viagens .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-agencia-viagens .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-agencia-viagens .checkout-wrap,body.model-agencia-viagens .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-agencia-viagens .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-agencia-viagens .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-agencia-viagens .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* Hospedagem e turismo: passeios, vitrine 4/2/1 e formulários sem carrinho */
body.model-passeios.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-passeios .product-card,body.model-passeios .product-info{min-width:0}
@media(max-width:1023px){body.model-passeios.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-passeios.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-passeios.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-passeios.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-passeios.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-passeios.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-passeios .store-header .brand{font-size:.82rem;line-height:1.15;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-passeios .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-passeios .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.88rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-passeios .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-passeios .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-passeios .checkout-wrap,body.model-passeios .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-passeios .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-passeios .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-passeios .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* TRANSPORTE — Transfer Executivo: serviços de reserva, sem carrinho. */
body.model-transfer-executivo.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-transfer-executivo .product-card,body.model-transfer-executivo .product-info{min-width:0}
@media(max-width:1023px){body.model-transfer-executivo.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-transfer-executivo.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-transfer-executivo.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-transfer-executivo.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-transfer-executivo.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-transfer-executivo.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-transfer-executivo .store-header .brand{font-size:.82rem;line-height:1.15;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-transfer-executivo .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-transfer-executivo .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.88rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-transfer-executivo .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-transfer-executivo .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-transfer-executivo .checkout-wrap,body.model-transfer-executivo .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-transfer-executivo .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-transfer-executivo .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-transfer-executivo .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* Transporte e Logística: mudancas-fretes — orçamento e cotação, nunca carrinho */
body.model-mudancas-fretes.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-mudancas-fretes .product-card,body.model-mudancas-fretes .product-info{min-width:0}
@media(max-width:1023px){body.model-mudancas-fretes.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-mudancas-fretes.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-mudancas-fretes.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-mudancas-fretes.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-mudancas-fretes.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-mudancas-fretes.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-mudancas-fretes .store-header .brand{font-size:.82rem;line-height:1.15;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-mudancas-fretes .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-mudancas-fretes .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.88rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-mudancas-fretes .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-mudancas-fretes .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-mudancas-fretes .checkout-wrap,body.model-mudancas-fretes .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-mudancas-fretes .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-mudancas-fretes .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-mudancas-fretes .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* Transporte e Logística: transportadora — orçamento e cotação, nunca carrinho */
body.model-transportadora.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-transportadora .product-card,body.model-transportadora .product-info{min-width:0}
@media(max-width:1023px){body.model-transportadora.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-transportadora.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-transportadora.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-transportadora.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-transportadora.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-transportadora.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-transportadora .store-header .brand{font-size:.82rem;line-height:1.15;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-transportadora .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-transportadora .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.88rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-transportadora .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-transportadora .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-transportadora .checkout-wrap,body.model-transportadora .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-transportadora .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-transportadora .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-transportadora .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}

/* Transporte e Logística: motofrete — orçamento e cotação, nunca carrinho */
body.model-motofrete.storefront-service .products{grid-template-columns:repeat(4,minmax(0,1fr))}
body.model-motofrete .product-card,body.model-motofrete .product-info{min-width:0}
@media(max-width:1023px){body.model-motofrete.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.model-motofrete.storefront-service .products{grid-template-columns:minmax(0,1fr)}}
@media(min-width:561px) and (max-width:640px){
 body.model-motofrete.storefront-service .products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.model-motofrete.storefront-service .product-card{display:flex !important;flex-direction:column;grid-template-columns:none;min-height:0}
 body.model-motofrete.storefront-service .product-image{height:auto;min-height:0;aspect-ratio:1/1 !important;border-radius:16px 16px 0 0 !important}
 body.model-motofrete.storefront-service .product-info{flex:1}
}
@media(max-width:640px){body.model-motofrete .store-header .brand{font-size:.82rem;line-height:1.15;-webkit-line-clamp:3;overflow-wrap:anywhere}}
@media(max-width:360px){
 body.model-motofrete .store-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:7px;height:auto;min-height:0;align-items:center}
 body.model-motofrete .store-header .brand{grid-column:1 / -1;grid-row:1;width:100%;max-width:100%;font-size:.88rem;line-height:1.2;-webkit-line-clamp:2;overflow-wrap:normal}
 body.model-motofrete .store-header .customer-account-link{grid-column:1;grid-row:2;justify-self:end}
 body.model-motofrete .store-header .clinic-header-appointment{grid-column:2;grid-row:2;justify-self:end}
}
@media(max-width:560px){
 body.model-motofrete .checkout-wrap,body.model-motofrete .checkout-wrap>.panel{min-width:0;max-width:100%}
 body.model-motofrete .checkout-wrap .form-grid{grid-template-columns:minmax(0,1fr)}
 body.model-motofrete .checkout-wrap .form-grid label{min-width:0;max-width:100%}
 body.model-motofrete .checkout-wrap .form-grid :is(input,select,textarea){max-width:100%;min-width:0}
}
