/* DinhoS Reef Theme 0.13.22 — 3 areas estruturais, sem movimentar form.cart.
   Fonte de precos: DROS / Dynamic Pricing; botao: WooCommerce original.
   Aplicado SOMENTE ao single product na Shop e com opcoes Premium ligadas. */
body.drsf-shop-site.drsf-shop-premium.single-product {
  --drsf22-blue:#1265ad; --drsf22-ink:#112f4f;
  --drsf22-line:#dce7f0; --drsf22-bg:#f5f9fd;
  background:var(--drsf22-bg);
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce .woocommerce-breadcrumb{
  font-size:12px!important; margin:14px 0 18px!important; padding:0!important;
  background:transparent!important;box-shadow:none!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product :is(#container,main.dr-page-content){
  width:calc(100% - 32px)!important;max-width:1520px!important;margin-inline:auto!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product :is(#primary,#content,#main,.dr-entry,.dr-entry-content,.woocommerce){
  min-width:0!important;max-width:100%!important;
}
/* Definimos container pela largura DISPONIVEL, nao pela viewport do Personalizador. */
body.drsf-shop-site.drsf-shop-premium-3col.single-product .woocommerce{
  container-name:drsf22-product;container-type:inline-size;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product {
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:20px!important;
  align-items:start!important;box-sizing:border-box!important;
  width:100%!important;max-width:100%!important;
  padding:16px!important;margin:0 auto 12px!important;
  border:1px solid var(--drsf22-line)!important;border-radius:18px!important;background:#fff!important;
  box-shadow:0 8px 24px rgba(11,49,82,.035)!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > :is(.images,.woocommerce-product-gallery){
  box-sizing:border-box!important;position:relative!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  float:none!important;clear:none!important;margin:0!important;padding:12px!important;
  border:1px solid #e3eaf1!important;border-radius:14px!important;
  background:#fff!important;overflow:visible!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > .summary {
  box-sizing:border-box!important;float:none!important;clear:none!important;
  min-width:0!important;width:100%!important;max-width:100%!important;
  margin:0!important;padding:0!important;border:0!important;
  background:transparent!important;box-shadow:none!important;
  display:block!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > :is(.woocommerce-tabs,.wc-tabs-wrapper,.related,.up-sells,.upsells){
  min-width:0!important;width:100%!important;grid-column:1/-1!important;
}
/* Deixe a imagem inteira: peixes, animais e racoes nunca devem ser cortados. */
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > :is(.images,.woocommerce-product-gallery) img:not(.zoomImg){
  width:100%!important;max-width:100%!important;max-height:480px!important;
  height:auto!important;object-fit:contain!important;object-position:center!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .flex-control-thumbs{
  display:flex!important;flex-wrap:wrap!important;gap:8px!important;max-width:100%!important;
  margin:13px 0 0!important;padding:0!important;list-style:none!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .flex-control-thumbs li{
  float:none!important;width:65px!important;max-width:calc(25% - 8px)!important;margin:0!important;list-style:none!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .flex-control-thumbs img{
  width:100%!important;height:62px!important;max-height:62px!important;object-fit:contain!important;
  border-radius:9px!important;border:1px solid #e4eaf0!important;background:#fff!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-info,
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox{
  box-sizing:border-box!important;min-width:0!important;max-width:100%!important;
  overflow-wrap:anywhere;
}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-info .product_title{
  font-size:clamp(22px,2vw,29px)!important;line-height:1.24!important;
  font-weight:800!important;letter-spacing:-.02em!important;color:var(--drsf22-ink)!important;
  margin:0 0 14px!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-info > *{max-width:100%!important;min-width:0!important;}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-info :is(.dros-reef-product-price,[class*="reef-product"]){
  max-width:100%!important;min-width:0!important;border-radius:13px!important;
}
/* A caixa existe no servidor, nao se cria por JS nem depende de AJAX. */
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox{
  padding:19px!important;margin:0!important;border:1px solid #d6e3ee!important;
  border-radius:16px!important;background:#fff!important;
  box-shadow:0 8px 23px rgba(16,55,86,.055)!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox__heading{
  font-size:18px!important;color:#123452!important;font-weight:800!important;
  margin:0 0 16px!important;line-height:1.3!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox :is(.drsf-01322-buybox__shipping,.drsf-01322-buybox__stock):empty,
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox__variations:empty,
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox__express:empty{display:none!important;}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox__variations .dinho-dp-family{
  margin:0 0 16px!important;padding:12px!important;border:1px solid #dce5f0!important;border-radius:12px!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox__variations .dinho-dp-family-options{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox__variations .dinho-dp-family-option{
  display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;
  padding:10px!important;border:1px solid #ded7f6!important;border-radius:10px!important;text-decoration:none!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox__variations .dinho-dp-family-option.is-current{
  background:#f6efff!important;border-color:#7137bf!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox form.cart{
  display:block!important;float:none!important;min-width:0!important;width:100%!important;max-width:100%!important;
  padding:0!important;margin:10px 0!important;border:0!important;background:transparent!important;
  box-shadow:none!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox form.cart .quantity{
  display:block!important;float:none!important;width:100%!important;max-width:100%!important;margin:0 0 11px!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox form.cart .quantity input.qty{
  width:100px!important;min-height:43px!important;max-width:100%!important;border:1px solid #d6e1eb!important;
  border-radius:10px!important;background:#fff!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox .single_add_to_cart_button{
  display:block!important;float:none!important;width:100%!important;min-height:52px!important;
  border:0!important;border-radius:10px!important;color:#fff!important;
  font-size:15px!important;font-weight:800!important;
  background:linear-gradient(110deg,#104c97,#2089f0)!important;
  box-shadow:0 6px 16px rgba(17,100,194,.13)!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox :is(input,button,select,textarea){max-width:100%!important;}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox :is(.variations,.variations_form table){width:100%!important;}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox__shipping:empty,
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox__stock:empty{display:none!important;}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox__stock:not(:empty),
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox__shipping:not(:empty){
  margin-bottom:15px!important;min-width:0!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox__assurance{
  margin-top:18px;padding-top:12px;border-top:1px solid #e5edf3;
}
body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox__assurance p{
  font-size:11px!important;margin:0!important;color:#587083!important;
}
/* Base 2-col em tablet: galeria e summary, sem terceiro bloco caido abaixo. */
@media(min-width:760px){
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product{
    grid-template-columns:minmax(0,36%) minmax(0,1fr)!important;
  }
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > :is(.images,.woocommerce-product-gallery){
    grid-column:1!important;grid-row:1!important;
  }
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > .summary{
    grid-column:2!important;grid-row:1!important;
  }
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > :is(.woocommerce-tabs,.wc-tabs-wrapper,.related,.up-sells,.upsells){
    grid-column:1/-1!important;
  }
}
/* Somente quando o conteudo REAL do produto comportar as 3 areas. */
@container drsf22-product (min-width:1020px){
  body.drsf-shop-site.drsf-shop-premium-3col.single-product .woocommerce div.product{
    grid-template-columns:minmax(275px,33%) minmax(0,1fr)!important;
    gap:22px!important;padding:18px!important;
  }
  body.drsf-shop-site.drsf-shop-premium-3col.single-product .woocommerce div.product > .summary:has(> .drsf-01322-info):has(> .drsf-01322-buybox){
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,0.87fr)!important;
    gap:22px!important;align-items:start!important;align-content:start!important;
  }
  body.drsf-shop-site.drsf-shop-premium-3col.single-product .woocommerce div.product > .summary > .drsf-01322-info{
    grid-column:1!important;grid-row:1!important;padding:4px 0!important;min-width:0!important;
  }
  body.drsf-shop-site.drsf-shop-premium-3col.single-product .woocommerce div.product > .summary > .drsf-01322-buybox{
    grid-column:2!important;grid-row:1!important;min-width:0!important;
    position:sticky!important;top:16px!important;align-self:start!important;
  }
}
/* No celular a compra deve estar sempre acessivel e nao fica sticky. */
@media(max-width:759px){
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product{padding:10px!important;gap:14px!important;}
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > :is(.images,.woocommerce-product-gallery,.summary){
    grid-column:1!important;grid-row:auto!important;width:100%!important;
  }
  body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-info{margin-bottom:14px;}
  body.drsf-shop-site.drsf-shop-premium.single-product .drsf-01322-buybox{padding:15px!important;position:static!important;}
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > :is(.images,.woocommerce-product-gallery) img:not(.zoomImg){max-height:370px!important;}
}
/* Miniaturas verticais sem modificar o script original Woo. */
@container drsf22-product (min-width:1330px){
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > .woocommerce-product-gallery:has(> .flex-control-thumbs){
    display:grid!important;grid-template-columns:61px minmax(0,1fr)!important;gap:10px!important;align-items:start!important;
  }
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > .woocommerce-product-gallery > :is(.flex-viewport,.woocommerce-product-gallery__wrapper){grid-column:2!important;grid-row:1!important;}
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > .woocommerce-product-gallery > .flex-control-thumbs{
    grid-column:1!important;grid-row:1!important;display:flex!important;flex-direction:column!important;margin:0!important;
  }
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > .woocommerce-product-gallery > .flex-control-thumbs li{
    width:58px!important;max-width:58px!important;
  }
}
