/* DinhoS Reef Theme 0.13.17 — Premium Shop, non-destructive WooCommerce presentation.
   Explicit opt-out via Customizer. No hidden elements, DOM movement or commerce hooks.
   Loaded only on single products and WooCommerce archives, after Shop Brand CSS. */
body.drsf-shop-site.drsf-shop-premium{
  --drsf-premium-navy:#102f4c;
  --drsf-premium-blue:#066eb9;
  --drsf-premium-blue-dark:#07528d;
  --drsf-premium-line:#dfebf4;
  --drsf-premium-muted:#63778b;
  --drsf-premium-shadow:0 10px 34px rgba(15,51,82,.065);
  --drsf-premium-radius:17px;
  background:#f4f8fc;
}
/* A familiar marketplace visual frame. Do not touch main navigation or checkout. */
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce .woocommerce-breadcrumb{
  background:transparent!important;border:0!important;box-shadow:none!important;
  padding:5px 1px 13px!important;margin:0 0 13px!important;
  font-size:12px;line-height:1.6;color:var(--drsf-premium-muted);
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce .woocommerce-breadcrumb a{
  color:var(--drsf-premium-blue);text-underline-offset:3px;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > :is(.images,.woocommerce-product-gallery),
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > .summary,
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > :is(.woocommerce-tabs,.wc-tabs-wrapper,.related,.up-sells,.upsells){
  border:1px solid var(--drsf-premium-line);
  border-radius:var(--drsf-premium-radius);background:#fff;
  box-shadow:var(--drsf-premium-shadow);
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .summary .product_title{
  color:var(--drsf-premium-navy)!important;font-weight:800!important;
  font-size:clamp(24px,2.1vw,33px)!important;line-height:1.22!important;
  letter-spacing:-.027em!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .summary > .price{
  font-size:clamp(25px,2.4vw,33px)!important;line-height:1.2!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .summary :is(.stock,.woocommerce-product-details__short-description,.product_meta){
  color:var(--drsf-premium-muted);line-height:1.65;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .summary :is(a,button,input,select):focus-visible,
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .flex-control-thumbs img:focus-visible{
  outline:2px solid var(--drsf-premium-blue);outline-offset:3px;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .summary .single_add_to_cart_button{
  background:linear-gradient(115deg,#064793,#1585e3)!important;color:#fff!important;
  border-color:#0869c1!important;border-radius:12px!important;
  min-height:50px!important;font-weight:800!important;
  box-shadow:0 7px 16px rgba(10,91,172,.15)!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .summary .single_add_to_cart_button:hover{
  background:linear-gradient(115deg,#053979,#0e6dbc)!important;
  box-shadow:0 9px 20px rgba(10,91,172,.20)!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .summary form.cart :is(.quantity .qty,select,input:not([type=hidden])){
  border-radius:10px;min-height:43px;max-width:100%;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .summary :is(.dros-reef-product-price,.dinhos-express-selo){
  max-width:100%;min-width:0;overflow-wrap:anywhere;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .flex-control-thumbs img{
  transition:border-color .16s ease,box-shadow .16s ease;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .flex-control-thumbs img.flex-active,
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .flex-control-thumbs img:hover{
  border-color:#197ce1!important;box-shadow:0 0 0 2px rgba(25,124,225,.12);
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > :is(.woocommerce-tabs,.wc-tabs-wrapper,.related,.up-sells,.upsells){
  padding:24px!important;
}
body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .woocommerce-tabs .panel{
  line-height:1.75;color:#324d63;
}
/* Details that occur below the summary always retain the full product width. */
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;min-width:0;
}
/* Safety fallback: never reserve a third, empty column for purchaseless products.
   The actual third visual area exists only when a native form.cart is present. */
@media(min-width:1320px){
  body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product .woocommerce div.product{
    grid-template-columns:minmax(285px,36%) minmax(0,1fr)!important;
  }
}
/* Proper three-zone desktop layout without an extra (possibly empty) purchase panel.
   Native form.cart is still in .summary in the SAME place in DOM, so WooCommerce,
   variations, shipping/benefit plugins and handlers keep their normal ownership. */
@supports selector(.summary:has(> form.cart)) {
  @media(min-width:1320px){
    body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product :is(#container,main.dr-page-content){
      width:min(1480px,calc(100% - 48px))!important;
      max-width:1480px!important;margin-inline:auto!important;
    }
    body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product .woocommerce,
    body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product :is(#primary,#content,#main,.dr-entry,.dr-entry-content){
      width:100%!important;max-width:100%!important;min-width:0!important;
    }
    body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product .woocommerce div.product:has(> .summary > form.cart){
      display:grid!important;grid-template-columns:minmax(280px,32%) minmax(0,1fr)!important;
      column-gap:22px!important;row-gap:22px!important;
      width:100%!important;max-width:100%!important;padding:22px!important;
      align-items:start;background:#fff;
      border:1px solid var(--drsf-premium-line);border-radius:21px;
      box-shadow:var(--drsf-premium-shadow);
    }
    body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product .woocommerce div.product:has(> .summary > form.cart) > :is(.images,.woocommerce-product-gallery){
      grid-column:1!important;float:none!important;width:100%!important;
      max-width:none!important;min-width:0!important;margin:0!important;
      padding:2px!important;background:transparent;border:0!important;box-shadow:none!important;
      overflow:visible!important;
    }
    body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product .woocommerce div.product:has(> .summary > form.cart) > .summary{
      grid-column:2!important;float:none!important;width:100%!important;
      min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;
      border:0!important;box-shadow:none!important;background:transparent!important;
      display:grid!important;grid-template-columns:minmax(0,1fr) minmax(285px,340px);
      column-gap:22px;row-gap:10px;align-items:start;align-content:start;
    }
    body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product .woocommerce div.product:has(> .summary > form.cart) > .summary > *{
      grid-column:1;min-width:0;max-width:100%;
    }
    body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product .woocommerce div.product:has(> .summary > form.cart) > .summary > form.cart{
      grid-column:2!important;grid-row:1!important;
      width:100%!important;min-width:0!important;max-width:100%!important;
      margin:0!important;padding:20px!important;
      border:1px solid #d7e5f1!important;border-radius:16px!important;
      background:#fff!important;box-shadow:0 6px 24px rgba(14,54,90,.09)!important;
      align-self:start;display:flex;flex-wrap:wrap;align-items:center;gap:12px;
    }
    body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product .woocommerce div.product:has(> .summary > form.variations_form.cart) > .summary > form.variations_form.cart{
      display:block!important;
    }
    body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product .woocommerce div.product:has(> .summary > form.cart) > .summary > form.cart .single_add_to_cart_button{
      width:100%!important;max-width:100%;min-height:50px!important;
    }
    body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product .woocommerce div.product:has(> .summary > form.cart) > .summary > .product_meta{
      border-top:1px solid var(--drsf-premium-line);margin-top:10px;
    }
    /* Only move Woo thumb rails when the actual images AND thumbs are present. */
    body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product .woocommerce div.product:has(> .summary > form.cart) > .woocommerce-product-gallery:has(> .flex-control-thumbs){
      display:grid!important;grid-template-columns:62px minmax(0,1fr)!important;
      grid-template-rows:auto!important;gap:12px!important;align-items:start;
    }
    body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product .woocommerce div.product:has(> .summary > form.cart) > .woocommerce-product-gallery > :is(.flex-viewport,.woocommerce-product-gallery__wrapper){
      grid-column:2!important;grid-row:1!important;min-width:0;width:100%!important;max-width:100%!important;
    }
    body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product .woocommerce div.product:has(> .summary > form.cart) > .woocommerce-product-gallery > .flex-control-thumbs{
      grid-column:1!important;grid-row:1!important;display:flex!important;
      flex-direction:column!important;flex-wrap:nowrap!important;gap:9px!important;
      width:62px!important;max-width:62px!important;padding:0!important;margin:0!important;
      max-height:480px;overflow-y:auto;scrollbar-width:thin;
    }
    body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product .woocommerce div.product:has(> .summary > form.cart) > .woocommerce-product-gallery > .flex-control-thumbs li{
      width:62px!important;max-width:62px!important;flex:0 0 62px!important;margin:0!important;
    }
    body.drsf-shop-site.drsf-shop-premium.drsf-shop-premium-3col.single-product .woocommerce div.product:has(> .summary > form.cart) > .woocommerce-product-gallery > .flex-control-thumbs img{
      width:62px!important;max-width:62px!important;height:62px!important;max-height:62px!important;
      border:1px solid #d9e7f2;border-radius:10px!important;object-fit:contain!important;
      padding:3px!important;background:#fff;
    }
  }
}
/* 901–1319px: keep the tested side-by-side layout, but refine its proportions. */
@media(min-width:901px) and (max-width:1319px){
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > :is(.images,.woocommerce-product-gallery){
    border-color:var(--drsf-premium-line)!important;
  }
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > .summary{
    border-color:var(--drsf-premium-line)!important;
  }
}
/* Small screens: preserve the baseline one-column flow and form ownership. */
@media(max-width:900px){
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product{
    grid-template-columns:minmax(0,1fr)!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/-1!important;width:100%!important;max-width:100%!important;
  }
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product > :is(.woocommerce-tabs,.wc-tabs-wrapper,.related,.up-sells,.upsells){
    padding:17px!important;
  }
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .summary :is(input,select,button){max-width:100%;}
}
/* Archive: restrained, modern cards — the existing product list remains untouched. */
body.drsf-shop-site.drsf-shop-premium.woocommerce-shop .woocommerce ul.products li.product,
body.drsf-shop-site.drsf-shop-premium.tax-product_cat .woocommerce ul.products li.product,
body.drsf-shop-site.drsf-shop-premium.tax-product_tag .woocommerce ul.products li.product{
  background:#fff;border:1px solid var(--drsf-premium-line);border-radius:16px;
  padding:14px;box-shadow:0 5px 18px rgba(15,51,82,.045);
  transition:box-shadow .16s ease,border-color .16s ease;
}
body.drsf-shop-site.drsf-shop-premium.woocommerce-shop .woocommerce ul.products li.product:hover,
body.drsf-shop-site.drsf-shop-premium.tax-product_cat .woocommerce ul.products li.product:hover,
body.drsf-shop-site.drsf-shop-premium.tax-product_tag .woocommerce ul.products li.product:hover{
  border-color:#bfdaed;box-shadow:0 12px 30px rgba(15,51,82,.10);
}
body.drsf-shop-site.drsf-shop-premium .woocommerce ul.products li.product a img{
  max-width:100%;object-fit:contain;border-radius:12px;background:#fff;
}
body.drsf-shop-site.drsf-shop-premium .woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:15px;line-height:1.35;letter-spacing:-.01em;color:var(--drsf-premium-navy);font-weight:750;
}
body.drsf-shop-site.drsf-shop-premium .woocommerce ul.products li.product .price{
  color:var(--drsf-premium-blue-dark);font-weight:800;
}
@media(prefers-reduced-motion:reduce){
  body.drsf-shop-site.drsf-shop-premium .woocommerce ul.products li.product,
  body.drsf-shop-site.drsf-shop-premium.single-product .woocommerce div.product .flex-control-thumbs img{
    transition:none!important;
  }
}
