/*
Theme Name: Dominican Tropical v7.6
Theme URI: https://dominicandimension.com
Author: Dominican Dimension
Description: English-only Dominican tropical WooCommerce storefront preview. Desktop artwork reference with functional navigation and linked categories.
Version: 7.6.0
Requires PHP: 7.4
Text Domain: dominican-tropical-v7-6
*/
:root{--navy:#082e61;--red:#ec1035;--cream:#fff9f1}*{box-sizing:border-box}body{margin:0;color:var(--navy);font-family:Arial,Helvetica,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #f4ae29;outline-offset:3px}.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.dd-topbar{background:var(--navy);color:white;min-height:35px;display:flex;align-items:center;justify-content:center;padding:8px 22px;font-size:10px;letter-spacing:.13em;position:relative;text-align:center}.dd-utility{position:absolute;right:22px;display:flex;gap:16px;letter-spacing:0}.dd-utility a{text-decoration:none}.dd-header{max-width:1536px;margin:auto;min-height:105px;padding:8px 24px;display:flex;align-items:center;gap:20px;background:#fff}.dd-logo{flex:0 0 325px}.dd-logo img{display:block;width:100%;height:auto}.dd-nav{display:flex;justify-content:center;gap:18px;align-items:center;flex:1;white-space:nowrap}.dd-nav a{font-size:13px;font-weight:700;text-decoration:none}.dd-nav a:hover{color:var(--red)}.dd-search{display:flex;flex:0 1 240px;min-width:150px;height:40px}.dd-search input{width:100%;min-width:0;border:1px solid #ddd;border-radius:25px 0 0 25px;padding:0 14px}.dd-search button{width:48px;border:0;border-radius:0 25px 25px 0;background:var(--red);color:white;font-size:23px;cursor:pointer}.dd-artboard{max-width:1536px;margin:auto;position:relative}.dd-approved{display:block;width:100%;height:auto}.dd-hotspot{position:absolute;z-index:2;border-radius:5px}.dd-hotspot:hover{outline:2px solid #ffffffb8;background:#ffffff12}.dd-mobile{display:none}.dd-products{max-width:1280px;margin:60px auto;padding:0 24px}.dd-products h2{text-align:center;font:36px Georgia,serif}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--red)!important;color:white!important}.site-footer{background:var(--navy);color:#fff;padding:30px 20px;text-align:center}.site-footer a{color:#fff}.content-shell{max-width:1150px;margin:40px auto;padding:0 20px}img{max-width:100%}@media(max-width:1200px){.dd-header{gap:12px;padding:10px 15px}.dd-logo{flex-basis:250px}.dd-nav{gap:10px}.dd-nav a{font-size:11px}.dd-search{flex-basis:190px}}@media(max-width:850px){.dd-utility{position:static;margin-left:12px}.dd-topbar{justify-content:space-between;gap:12px;font-size:9px}.dd-header{flex-wrap:wrap;justify-content:center}.dd-logo{flex-basis:220px}.dd-nav{order:3;width:100%;flex:auto;overflow-x:auto;justify-content:flex-start;padding:10px 2px}.dd-nav a{font-size:12px}.dd-search{flex:1 1 180px}.dd-desktop{display:none}.dd-mobile{display:block}.dd-mobile-hero{min-height:480px;background:linear-gradient(90deg,#e8f7ffe8,#e8f7ff40),url('assets/hero-photo.jpg') center/cover;display:flex;align-items:center;padding:30px 24px}.dd-mobile-hero>div{max-width:470px}.dd-mobile-hero span{font-size:13px;font-weight:700;letter-spacing:.08em}.dd-mobile-hero h1{font:clamp(35px,7vw,60px)/1.1 Georgia,serif}.dd-mobile-hero em{color:var(--red)}.dd-mobile-hero p{line-height:1.6}.dd-button{display:inline-block;background:var(--red);color:white;padding:14px 24px;border-radius:30px;text-decoration:none;font-weight:bold}.dd-mobile-categories{padding:22px;background:var(--cream)}.dd-mobile-categories h2{text-align:center;font:26px Georgia,serif}.dd-mobile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dd-mobile-grid a{text-align:center;text-decoration:none;font-size:13px;font-weight:bold}.dd-mobile-grid img{display:block;width:130px;height:130px;object-fit:cover;border-radius:50%;margin:0 auto 10px}.dd-mobile-promos{padding:15px;display:grid;gap:14px;background:var(--cream)}.dd-mobile-promos a{display:block;min-height:220px;background-size:cover;background-position:center;border-radius:8px}.dd-products h2{font-size:27px}}@media(max-width:480px){.dd-topbar{font-size:8px;letter-spacing:0}.dd-utility{gap:7px}.dd-logo{flex-basis:185px}.dd-mobile-hero{min-height:450px;background-position:62% center}.dd-mobile-hero h1{font-size:38px}.dd-mobile-grid img{width:110px;height:110px}}

/* Footer refinement for v6.1 */
.site-footer .dd-footer-brand{font-family:Georgia,serif;font-size:1.35rem;margin:0 0 .4rem}.site-footer .dd-footer-tagline{margin:0 0 1.2rem}.site-footer .dd-footer-links{display:flex;justify-content:center;gap:12px 22px;flex-wrap:wrap;margin:0 0 1.3rem}.site-footer .dd-footer-links a{text-decoration:none}.site-footer .dd-footer-links a:hover,.site-footer .dd-footer-links a:focus{text-decoration:underline}.site-footer .dd-copyright{font-size:.85rem;opacity:.92;margin:0 0 .35rem}.site-footer .dd-trademark{font-size:.86rem;margin:0}.site-footer .dd-footer-contact{margin:0 0 1rem}

/* v7 — Interior storefront only. Approved homepage and its artwork are unchanged. */
:root{--dd-blue:#082e61;--dd-red:#ec1035;--dd-soft:#fff9f1;--dd-line:#e6e9ef;--dd-muted:#536477}
body:not(.home) .content-shell,body.woocommerce-page .dd-store-shell{max-width:1240px;margin:36px auto 80px;padding:0 28px;min-height:45vh}
.dd-store-shell h1,.content-shell h1,.woocommerce-products-header__title{font:700 clamp(30px,3.2vw,44px)/1.16 Georgia,'Times New Roman',serif;color:var(--dd-blue);margin:0 0 24px}
.dd-store-shell h2,.woocommerce div.product .product_title{font-family:Georgia,'Times New Roman',serif;color:var(--dd-blue)}
.dd-store-shell p,.content-shell p{line-height:1.65}
.dd-store-shell a:not(.button){text-decoration-color:#a8b8cc;text-underline-offset:3px}
.woocommerce .woocommerce-breadcrumb{font-size:13px;color:var(--dd-muted);margin:0 0 24px}
.woocommerce .woocommerce-breadcrumb a{color:var(--dd-blue)}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-bottom:22px}
.woocommerce select,.woocommerce input.input-text,.woocommerce textarea,.woocommerce-page input.input-text,.woocommerce-page select,.woocommerce-page textarea{border:1px solid #cbd3dd;border-radius:7px;padding:11px 12px;min-height:42px;background:white;color:#172c46;max-width:100%}
.woocommerce .woocommerce-ordering select{padding:10px 35px 10px 12px}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px;margin:20px 0 35px;clear:both}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:none;width:auto;margin:0!important;padding:14px 14px 20px;background:#fff;border:1px solid var(--dd-line);border-radius:14px;box-shadow:0 8px 26px rgba(8,46,97,.055);text-align:center;min-width:0;transition:transform .15s,box-shadow .15s}
.woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(8,46,97,.12)}
.woocommerce ul.products li.product a img{width:100%;height:225px;object-fit:contain;background:#fff;border-radius:9px;margin:0 0 14px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font:700 17px/1.35 Georgia,serif;color:var(--dd-blue);min-height:46px;padding:0}
.woocommerce ul.products li.product .price{font-size:17px;font-weight:700;color:var(--dd-blue);margin:9px 0 14px}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce .button,.wc-block-components-button:not(.is-link){background:var(--dd-red)!important;color:#fff!important;border:0!important;border-radius:25px!important;padding:13px 22px!important;min-height:42px;font-weight:700;text-decoration:none;transition:filter .15s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.wc-block-components-button:not(.is-link):hover{filter:brightness(.9)}
.woocommerce span.onsale{background:var(--dd-red);min-height:0;line-height:1;padding:10px;border-radius:30px}
/* Single product: balanced gallery and summary, no giant original-size image. */
.woocommerce div.product{display:flow-root}
.woocommerce div.product div.images,.woocommerce div.product div.summary{margin-bottom:38px}
.woocommerce div.product div.images{width:47%;max-width:560px}
.woocommerce div.product div.summary{width:48%;padding:14px 0}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{border:1px solid var(--dd-line);background:#fff;border-radius:16px;overflow:hidden;text-align:center}
.woocommerce div.product div.images img,.woocommerce div.product div.images .wp-post-image{display:block;width:100%;height:auto;max-height:540px;object-fit:contain;margin:auto}
.woocommerce div.product div.images .flex-control-thumbs img{height:90px;object-fit:contain;border:1px solid var(--dd-line);border-radius:7px}
.woocommerce div.product .product_title{font-size:clamp(29px,3vw,42px);line-height:1.15;margin-bottom:18px}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-size:27px;font-weight:700;color:var(--dd-red);margin-bottom:18px}
.woocommerce div.product .stock{color:#286c4e;font-size:14px;font-weight:700}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0}
.woocommerce .quantity .qty{min-width:75px;max-width:95px;padding:9px 6px;border:1px solid #bfc8d3;border-radius:7px;text-align:center;min-height:43px}
.woocommerce div.product .product_meta{border-top:1px solid var(--dd-line);padding-top:20px;color:var(--dd-muted);font-size:13px;line-height:1.9}
.woocommerce div.product .woocommerce-tabs{clear:both;padding-top:28px;border-top:1px solid var(--dd-line)}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin-bottom:20px}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:#f2f6fa;border:0;border-radius:8px 8px 0 0;margin:0 5px 0 0;padding:3px 14px}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--dd-blue)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff}
.woocommerce div.product .woocommerce-tabs .panel{max-width:850px;line-height:1.7}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--dd-blue);background:#f1f7fc;border-radius:8px;padding:20px 24px 20px 55px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--dd-blue)}
/* Cart and checkout, both classic and WooCommerce blocks. */
.woocommerce table.shop_table{border:1px solid var(--dd-line);border-radius:12px;overflow:hidden;border-collapse:separate;background:#fff}
.woocommerce table.shop_table th{background:#f2f6fa;color:var(--dd-blue);padding:16px}
.woocommerce table.shop_table td{padding:16px;border-top:1px solid var(--dd-line)}
.woocommerce table.shop_table td.product-thumbnail img{width:76px;height:76px;object-fit:contain}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #order_review,.woocommerce-checkout #customer_details,.woocommerce-account .woocommerce-MyAccount-content{border:1px solid var(--dd-line);padding:24px;border-radius:14px;background:#fff}
.woocommerce-checkout #customer_details{margin-bottom:20px}
.woocommerce form .form-row{padding:4px 0;margin-bottom:12px}
.woocommerce form .form-row label{font-weight:600;color:var(--dd-blue);margin-bottom:5px}
.woocommerce-checkout #payment{background:#f3f7fb;border-radius:12px}
.woocommerce-checkout #payment div.payment_box{background:#fff}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 20px}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:12px 14px;border-bottom:1px solid var(--dd-line);text-decoration:none}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--dd-red);font-weight:700}
.wc-block-cart,.wc-block-checkout,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{max-width:1200px;margin:0 auto}
.wc-block-components-sidebar,.wc-block-components-main,.wc-block-cart-items,.wc-block-components-order-summary{border-radius:12px}
.wc-block-components-title{font-family:Georgia,serif;color:var(--dd-blue)}
/* Suppress default blog widgets only on commerce routes, never homepage. */
body.woocommerce-page #sidebar,body.woocommerce-page .sidebar,body.woocommerce-page .widget-area{display:none!important}
@media(max-width:1000px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.woocommerce ul.products li.product a img{height:195px}}
@media(max-width:767px){body.woocommerce-page .dd-store-shell,body:not(.home) .content-shell{padding:0 16px;margin:24px auto 50px}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.woocommerce ul.products li.product{padding:10px 10px 16px}.woocommerce ul.products li.product a img{height:155px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px}.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none!important;width:100%!important;max-width:none}.woocommerce div.product div.images img{max-height:430px}.woocommerce div.product div.summary{padding:0}.woocommerce table.shop_table td,.woocommerce table.shop_table th{padding:10px}.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review{padding:16px}}
@media(max-width:420px){.woocommerce ul.products li.product a img{height:125px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px}.woocommerce ul.products li.product .button{font-size:12px;padding:11px 12px!important}}

/* v7.1: commerce pages are explicitly wrapped in .woocommerce. */
.dd-store-shell{width:min(1240px,100%);margin:32px auto 72px!important;padding:0 24px!important;min-height:55vh;overflow:hidden}
.dd-store-shell .woocommerce{width:100%;max-width:100%;color:#082e61;font-size:16px}
.dd-store-shell .woocommerce-products-header{margin-bottom:25px}
.dd-store-shell .term-description{max-width:850px;line-height:1.65;margin:0 0 20px}
.dd-store-shell .woocommerce ul.products{list-style:none;padding:0;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;clear:both;width:100%}
.dd-store-shell .woocommerce ul.products li.product{float:none!important;width:auto!important;max-width:100%;margin:0!important;list-style:none}
.dd-store-shell .woocommerce ul.products li.product a img{width:100%!important;height:225px!important;object-fit:contain!important;display:block!important;max-width:100%!important}
.dd-store-shell .woocommerce div.product div.images img{max-width:100%!important;width:100%!important;max-height:520px!important;object-fit:contain!important;height:auto!important}
.dd-store-shell .woocommerce div.product div.images{float:left!important;width:47%!important;max-width:540px}
.dd-store-shell .woocommerce div.product div.summary{float:right!important;width:48%!important}
.dd-store-shell .woocommerce div.product::after{content:'';display:block;clear:both}
.dd-store-shell .woocommerce .woocommerce-tabs{clear:both}
.dd-store-shell #sidebar,.dd-store-shell .sidebar,.dd-store-shell .widget-area,.dd-store-shell aside.widget{display:none!important}
.dd-store-shell .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:17px!important;line-height:1.35!important}
.dd-store-shell .woocommerce .products .button{display:inline-block!important;margin-top:10px}
@media(max-width:1000px){.dd-store-shell .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.dd-store-shell{padding:0 16px!important}.dd-store-shell .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dd-store-shell .woocommerce ul.products li.product a img{height:160px!important}.dd-store-shell .woocommerce div.product div.images,.dd-store-shell .woocommerce div.product div.summary{float:none!important;width:100%!important;max-width:100%}}

/* v7.2: mobile header and account usability; desktop unchanged. */
.dd-mobile-menu,.dd-mobile-cart{display:none}
@media(max-width:850px){
 .dd-topbar{min-height:29px;padding:6px 10px;justify-content:center;gap:8px;font-size:9px;line-height:1.35}
 .dd-topbar>span:first-child{max-width:70%}
 .dd-utility{margin-left:0;gap:10px;white-space:nowrap}
 .dd-header{display:grid;grid-template-columns:50px minmax(0,1fr) 50px;gap:8px 10px;align-items:center;min-height:0;padding:10px 14px 12px;position:relative}
 .dd-logo{grid-column:2;grid-row:1;min-width:0;width:min(100%,230px);justify-self:center;flex:none}
 .dd-mobile-menu{display:block;grid-column:1;grid-row:1;align-self:center;position:relative;z-index:20}
 .dd-mobile-menu summary{cursor:pointer;list-style:none;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;font-weight:700;min-height:44px;justify-content:center}
 .dd-mobile-menu summary::-webkit-details-marker{display:none}
 .dd-menu-icon{font-size:25px;line-height:1}
 .dd-mobile-menu[open] .dd-mobile-links{position:absolute;top:calc(100% + 10px);left:-14px;width:min(310px,calc(100vw - 28px));background:#fff;box-shadow:0 12px 30px #082e6130;border:1px solid #dce4ef;border-radius:0 0 12px 12px;display:flex;flex-direction:column;padding:8px;max-height:70vh;overflow-y:auto}
 .dd-mobile-links a{display:block;padding:13px 15px;border-bottom:1px solid #edf0f5;text-decoration:none;font-size:15px;font-weight:600;white-space:normal}
 .dd-mobile-links a:last-child{border-bottom:0}
 .dd-mobile-links a:hover{color:var(--red);background:#fff5f6}
 .dd-nav{display:none!important}
 .dd-mobile-cart{display:flex;grid-column:3;grid-row:1;justify-content:center;align-items:center;min-height:44px;font-size:22px;text-decoration:none}
 .dd-search{grid-column:1/-1;grid-row:2;width:100%;min-width:0;flex:none;margin:0;max-width:none;height:42px}
 .dd-search input{font-size:16px}
 .dd-search button{flex:0 0 50px}
 .woocommerce-account .woocommerce-MyAccount-navigation{float:none!important;width:100%!important;margin-bottom:18px}
 .woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:100%!important;padding:16px!important}
 .woocommerce-account .woocommerce-MyAccount-navigation ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
 .woocommerce-account .woocommerce-MyAccount-navigation li a{padding:12px 9px;font-size:14px;min-height:44px}
}
@media(max-width:480px){
 .dd-topbar>span:first-child{font-size:8px;max-width:66%}
 .dd-utility{font-size:9px;gap:8px}
 .dd-header{padding:8px 12px 10px}
 .dd-logo{width:min(100%,190px)}
 .dd-mobile-menu[open] .dd-mobile-links{left:-12px}
 .dd-store-shell .woocommerce ul.products{gap:10px}
 .woocommerce-account .woocommerce-MyAccount-navigation ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v7.3 mobile-only: keep complete promotional images and separate scenic hero from text */
@media(max-width:850px){
 .dd-mobile-hero{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:0;padding:0;background:none!important}
 .dd-mobile-hero::before{content:"";display:block;width:100%;height:clamp(175px,55vw,300px);background-image:url('assets/hero-photo.jpg');background-size:cover;background-position:68% 32%;background-repeat:no-repeat}
 .dd-mobile-hero>div{max-width:none;width:100%;padding:22px 22px 26px;background:linear-gradient(135deg,#e5f6ff,#fffaf3)}
 .dd-mobile-hero h1{font-size:clamp(32px,8.5vw,44px);line-height:1.12;margin:12px 0}
 .dd-mobile-hero p{margin:12px 0 18px}
 .dd-mobile-promos{gap:16px;padding:16px;background:var(--cream)}
 .dd-mobile-promos a{display:block;min-height:0;height:auto;background:none!important;border-radius:10px;overflow:hidden;box-shadow:0 4px 16px #082e6117}
 .dd-mobile-promos a img{display:block;width:100%;height:auto;max-width:none;object-fit:contain}
 .dd-mobile-promos a:focus-visible{outline:3px solid #f4ae29;outline-offset:3px}
 .dd-mobile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .dd-mobile-grid a{overflow-wrap:anywhere}
}
@media(max-width:480px){.dd-mobile-hero{min-height:0}.dd-mobile-hero h1{font-size:clamp(30px,9vw,40px)}}

/* v7.4 — mobile commerce fixes. Desktop styling and approved homepage assets untouched. */
@media (max-width: 767px) {
  html, body { max-width:100%; }
  .dd-store-shell, body.woocommerce-page .dd-store-shell,
  .content-shell, body:not(.home) .content-shell {
    width:100%!important; max-width:100%!important; min-width:0!important;
    padding-left:16px!important; padding-right:16px!important;
    margin-left:auto!important; margin-right:auto!important;
    overflow-x:clip;
  }
  .dd-store-shell .woocommerce, .dd-store-shell .woocommerce-page,
  .dd-store-shell .woocommerce ul.products,
  .dd-store-shell .woocommerce ul.products[class*="columns-"],
  .woocommerce ul.products, .woocommerce-page ul.products,
  .woocommerce ul.products[class*="columns-"], .woocommerce-page ul.products[class*="columns-"] {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important;
    width:100%!important; max-width:100%!important; min-width:0!important;
    gap:18px!important; padding-left:0!important; padding-right:0!important;
  }
  .dd-store-shell .woocommerce ul.products li.product,
  .dd-store-shell .woocommerce ul.products[class*="columns-"] li.product,
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .woocommerce ul.products[class*="columns-"] li.product {
    box-sizing:border-box!important; width:100%!important; max-width:100%!important;
    min-width:0!important; float:none!important; clear:none!important;
    margin:0!important; padding:16px!important; justify-self:stretch!important;
  }
  .dd-store-shell .woocommerce ul.products li.product a img,
  .woocommerce ul.products li.product a img {
    display:block!important; width:100%!important; height:235px!important;
    max-width:100%!important; object-fit:contain!important; object-position:center!important;
  }
  .dd-store-shell .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size:19px!important; line-height:1.35!important; overflow-wrap:normal;
    word-break:normal; white-space:normal; min-height:0;
  }
  .dd-store-shell .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product .button {
    display:block!important; width:100%!important; max-width:100%!important;
    text-align:center!important; white-space:normal!important; font-size:15px!important;
    padding:13px 16px!important; line-height:1.35!important;
  }
  /* WooCommerce Cart Block: stack image/details and keep amounts inside viewport. */
  .wc-block-cart, .wp-block-woocommerce-cart,
  .wc-block-cart__main, .wc-block-cart__sidebar,
  .wc-block-cart-items, .wc-block-cart-items__row,
  .wc-block-components-sidebar-layout, .wc-block-components-main,
  .wc-block-components-sidebar, .wc-block-components-totals-wrapper {
    box-sizing:border-box!important; min-width:0!important; max-width:100%!important;
  }
  .wc-block-components-sidebar-layout {display:block!important;}
  .wc-block-components-sidebar-layout .wc-block-components-main,
  .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    width:100%!important; max-width:100%!important; padding-left:0!important;
    padding-right:0!important; margin-left:0!important; margin-right:0!important;
  }
  .wc-block-cart-items {width:100%!important; table-layout:fixed!important;}
  .wc-block-cart-items td, .wc-block-cart-items th {min-width:0!important;}
  .wc-block-cart-items__row {position:relative;}
  .wc-block-cart-item__image {width:68px!important; max-width:68px!important;}
  .wc-block-cart-item__image img {max-width:100%!important; height:auto!important; object-fit:contain!important;}
  .wc-block-cart-item__product {min-width:0!important; overflow-wrap:anywhere!important;}
  .wc-block-cart-item__product a, .wc-block-cart-item__product .wc-block-components-product-name {
    white-space:normal!important; overflow-wrap:anywhere!important;
  }
  .wc-block-cart-item__total {min-width:0!important; text-align:right!important;}
  .wc-block-cart-item__total .wc-block-components-product-price {white-space:normal!important;}
  .wc-block-components-quantity-selector {max-width:100%!important;}
  .wc-block-components-totals-item {gap:8px;}
  .wc-block-components-totals-item__value {text-align:right;white-space:nowrap;}
  .wc-block-components-checkout-place-order-button, .wc-block-cart__submit-button {width:100%!important;}
  /* Classic cart fallback. */
  .woocommerce table.shop_table {width:100%!important; max-width:100%!important;}
  .woocommerce table.shop_table td, .woocommerce table.shop_table th {overflow-wrap:anywhere;}
  .woocommerce .cart-collaterals, .woocommerce .cart-collaterals .cart_totals {
    width:100%!important; float:none!important; max-width:100%!important;
  }
  .woocommerce-account .woocommerce-MyAccount-content {max-width:100%; overflow-wrap:anywhere;}
  .site-footer {padding:30px 20px 34px!important;}
  .site-footer .dd-copyright,.site-footer .dd-trademark {
    max-width:34ch; margin-left:auto; margin-right:auto; line-height:1.55!important;
    font-size:12px!important; overflow-wrap:normal;
  }
  .site-footer .dd-footer-brand {font-size:22px!important;line-height:1.25;}
  .site-footer .dd-footer-tagline {line-height:1.45;}
}
@media (max-width:380px) {
  .wc-block-cart-item__image {width:52px!important;max-width:52px!important;}
  .wc-block-cart-items td {padding-left:4px!important;padding-right:4px!important;}
}

/* v7.5: targeted mobile catalog and WooCommerce Blocks fixes only. */
@media (max-width: 767px) {
  /* Category images have their own clean, label-free mobile assets. */
  .dd-mobile-grid img {width:110px!important;height:110px!important;object-fit:cover!important;object-position:center!important;border-radius:50%;}
  .dd-mobile-grid a {min-width:0;overflow-wrap:break-word;}
  /* Let full-height product images fit in their card; avoid stretching them. */
  .dd-products .woocommerce ul.products li.product img,
  .dd-store-shell .woocommerce ul.products li.product img,
  .woocommerce ul.products li.product img {
    width:100%!important;height:260px!important;max-height:none!important;
    object-fit:contain!important;object-position:center!important;
    background:#fff!important;margin:0 auto 12px!important;
  }
  .dd-products .woocommerce ul.products li.product,
  .dd-store-shell .woocommerce ul.products li.product {display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important;}
  .dd-products .woocommerce ul.products li.product .button,
  .dd-store-shell .woocommerce ul.products li.product .button {margin-top:12px!important;}
  /* Cart Blocks: give product name and amount their own rows on narrow phones. */
  .wc-block-cart-items .wc-block-cart-items__row {
    display:grid!important;grid-template-columns:65px minmax(0,1fr)!important;
    grid-template-areas:"image product" "image total"!important;
    column-gap:12px!important;row-gap:8px!important;
    width:100%!important;min-width:0!important;
  }
  .wc-block-cart-items .wc-block-cart-items__row > .wc-block-cart-item__image {
    grid-area:image!important;width:65px!important;max-width:65px!important;
    padding:0!important;align-self:start!important;
  }
  .wc-block-cart-items .wc-block-cart-items__row > .wc-block-cart-item__product {
    grid-area:product!important;width:100%!important;min-width:0!important;padding:0!important;
  }
  .wc-block-cart-items .wc-block-cart-items__row > .wc-block-cart-item__total {
    grid-area:total!important;width:100%!important;min-width:0!important;
    padding:0!important;text-align:left!important;justify-self:start!important;
  }
  .wc-block-cart-items .wc-block-cart-item__total .wc-block-components-product-price,
  .wc-block-cart-items .wc-block-cart-item__total .wc-block-formatted-money-amount {
    white-space:nowrap!important;display:inline-block!important;
  }
  .wc-block-cart-items .wc-block-cart-item__product .wc-block-components-product-name {
    display:block!important;max-width:100%!important;overflow-wrap:break-word!important;
  }
  .wc-block-cart-items .wc-block-cart-item__product .wc-block-components-quantity-selector {margin-top:8px!important;}
}

/* v7.6: show entire product images in a pure-white frame (desktop and mobile).
   Preserve aspect ratio; never enlarge or crop the source image to fill the frame. */
.dd-products .woocommerce ul.products li.product a img,
.dd-store-shell .woocommerce ul.products li.product a img,
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
  display:block!important; width:100%!important; height:310px!important;
  max-height:none!important; object-fit:contain!important; object-position:center center!important;
  background:#fff!important; padding:12px!important; box-sizing:border-box!important;
}
@media(max-width:767px){
  .dd-products .woocommerce ul.products li.product a img,
  .dd-store-shell .woocommerce ul.products li.product a img,
  .woocommerce ul.products li.product a img,
  .woocommerce-page ul.products li.product a img {
    height:320px!important; padding:10px!important; object-fit:contain!important;
  }
}
/* Product galleries: maintain full image proportions. */
.woocommerce div.product div.images img {object-fit:contain!important;object-position:center!important;}
