.product-page .gama-catalog-help {font-size:13px;line-height:1.6;color:#567084;margin:0 0 24px;}
.product-page .gama-classification-filter {border-bottom:1px solid #dce5eb;padding-bottom:20px!important;}
.product-page .gama-classification-filter .filter-label {font-weight:700;color:#12334b;display:flex;align-items:center;gap:9px;}
.product-page .gama-filter-step {display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#e7f0f6;color:#12334b;font-size:12px;flex-shrink:0;}
.product-page .gama-classification-filter .checkbox label {display:flex;align-items:center;gap:8px;line-height:1.4;padding:4px 0;cursor:pointer;}
.product-page .gama-classification-filter .checkbox input {flex-shrink:0;accent-color:#16769d;}
.product-page .gama-classification-filter .filter-options {max-height:310px;overflow:auto;}
@media(max-width:767px){.product-page .gama-classification-filter .filter-options{max-height:180px;}}
/* Keep all footer content inside its background at every viewport width. */
footer.web-footer {
  height: auto;
  min-height: 0;
  flex-shrink: 0;
  padding: 32px 0;
  color: #dceaf0;
}
footer.web-footer > .container {
  width: 100%;
  padding-right: 24px;
  padding-left: 24px;
}
footer.web-footer .footer-logo-extension { margin-bottom: 20px; }
footer.web-footer .footer-logo { display: block; height: auto; max-height: none; width: 140px; max-width: 100%; }
footer.web-footer .footer-info { color: #dceaf0; line-height: 1.8; margin: 0; }
footer.web-footer .footer-info .row { row-gap: 16px; }
footer.web-footer .footer-info .footer-col-left { flex: 1 1 420px; max-width: 100%; }
footer.web-footer .footer-info .footer-col-right { flex: 0 1 auto; max-width: 100%; margin-left: auto; }
footer.web-footer .footer-info a { color: #ffb36f !important; }
footer.web-footer .footer-info a:hover { text-decoration: underline; }
footer.web-footer .footer-info [class*="footer-col"] { height: auto; min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 767px) {
  footer.web-footer { padding: 28px 0; }
  footer.web-footer .footer-info .footer-col-right { flex-basis: 100%; margin-left: 0; text-align: left; }
}
/* Responsive storefront: keep controls usable without hover or horizontal scrolling. */
.navbar .navbar-toggler { color:#fff; border:1px solid #7890a5; min-width:44px; min-height:44px; }
.navbar .navbar-toggler .icon, .navbar .nav-link .icon { --icon-stroke:#fff; stroke:#fff; }
.navbar .navbar-brand img { max-width:180px; height:auto; }
.gama-filter-toggle { display:none; }
#product-listing .btn:focus-visible, .gama-filter-toggle:focus-visible { outline:3px solid #ef7d22; outline-offset:3px; }
#product-listing .btn-primary, .product-container .btn-primary { background:#0f2f4f; border-color:#0f2f4f; color:white; }
#product-listing .btn-primary .icon, .product-container .btn-primary .icon { --icon-stroke:#fff; }
#product-listing .list-row, #product-listing .item-card { min-width:0; }
#product-listing .product-title, #product-listing .product-code { overflow-wrap:anywhere; }
@media (max-width:991.98px) {
  .navbar .navbar-collapse { padding:16px 0; }
  .navbar .nav-link { min-height:44px; padding:12px 8px; }
  .navbar .navbar-nav form { margin:8px 0; }
  .navbar .dropdown-menu { max-width:100%; }
  .navbar .navbar-modal-search { width:100%; }
  #product-listing .list-row > .col-10 > div:first-child { flex-wrap:wrap; margin-left:0 !important; gap:10px; }
  #product-listing .list-row > .col-10 > div:first-child > .col-8,
  #product-listing .list-row .cart-action-container { flex:0 0 100%; max-width:100%; padding:0; margin:0 !important; }
  #product-listing .cart-action-container .btn { float:none !important; margin-left:0 !important; }
  #product-listing .btn-add-to-cart-list, #product-listing .btn-explore-variants { visibility:visible; min-height:44px; max-height:none !important; white-space:normal; }
}
@media (max-width:767.98px) {
  body { font-size:16px; }
  .navbar > .container { padding-left:16px; padding-right:16px; }
  .navbar .navbar-brand { max-width:calc(100% - 60px); margin-right:8px; }
  .navbar .navbar-brand::after { font-size:9px; letter-spacing:.03em; white-space:normal; }
  .page-container { padding-left:16px; padding-right:16px; }
  .page-header-wrapper { margin-top:20px; margin-bottom:20px; }
  .page-header-wrapper .page-header > .mb-6 { margin-bottom:0 !important; }
  .breadcrumb { margin-top:16px; margin-bottom:20px; line-height:1.6; overflow-wrap:anywhere; }
  .page_content h1, .web-page-content h1 { font-size:28px; line-height:1.2; }
  .web-page-content img, .web-page-content iframe { max-width:100%; }
  .web-page-content { overflow-wrap:anywhere; }
  input.form-control, select.form-control, textarea.form-control,
  #product-listing #search-box.font-md { font-size:16px !important; }
  #product-filters { margin-right:0 !important; background:white; padding:16px; border:1px solid #d8e2e8; border-radius:12px; margin-bottom:20px; }
  .gama-filter-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:48px; margin-bottom:16px; padding:10px 16px; border:1px solid #b6c8d5; border-radius:8px; background:white; color:#0f2f4f; font-weight:700; text-align:left; }
  .gama-filter-toggle::after { content:'+'; font-size:24px; line-height:1; }
  .gama-filter-toggle[aria-expanded='true']::after { content:'−'; }
  #product-filters .title-section { margin-bottom:12px !important; }
  #product-filters .title-section > * { margin-bottom:12px !important; }
  #product-filters .filter-label { font-size:13px; }
  #product-filters .checkbox label { min-height:44px; }
  #product-filters .checkbox .label-area { font-size:15px; }
  #product-filters .gama-classification-filter .filter-options { max-height:240px; overscroll-behavior:contain; }
  #product-listing .toolbar { flex-wrap:wrap; gap:12px; }
  #product-listing .toolbar > .input-group { flex:0 0 100%; max-width:100%; }
  #product-listing .toolbar > .toggle-container { flex:0 0 100%; max-width:100%; display:flex; justify-content:flex-end; gap:8px; }
  #product-listing .toggle-container .btn { min-width:44px; min-height:44px; margin:0 !important; }
  #product-listing .toggle-container .btn .icon { --icon-stroke:#0f2f4f; }
  #product-listing .toggle-container .btn-primary .icon { --icon-stroke:#fff; }
  #product-listing > br, #products-list-area > br { display:none; }
  #product-listing #products-list-area, #product-listing #products-grid-area { margin:16px 0 0 !important; padding:0; width:100%; }
  #product-listing .list-row { margin:0 0 16px !important; padding:16px !important; border:1px solid #d8e2e8; display:grid; grid-template-columns:90px minmax(0,1fr); gap:14px; }
  #product-listing .list-row > .col-2, #product-listing .list-row > .col-10 { padding:0; width:100%; max-width:100%; }
  #product-listing .list-image { height:120px; padding-top:30px !important; }
  #product-listing .list-image .website-image { object-fit:contain; }
  #product-listing .list-image .no-image-list { height:90px; margin:0; }
  #product-listing .like-action-list { top:0; left:0; width:36px; height:36px; display:flex; align-items:center; justify-content:center; }
  #product-listing .list-row > .col-10 > div:first-child > .col-8 a { font-size:16px; line-height:1.4; font-weight:700 !important; }
  #product-listing .list-row .cart-action-container { order:2; }
  #product-listing .list-row .cart-action-container .btn { width:100%; min-width:0 !important; padding:10px 8px !important; font-size:14px; }
  #product-listing .list-row .cart-action-container .btn > .mr-2 { display:none; }
  #product-listing .product-code { font-size:12px; line-height:1.5; margin:10px 0; }
  #product-listing #products-grid-area { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
  #product-listing #products-grid-area.hidden { display:none; }
  #product-listing .item-card { width:100%; max-width:100%; min-width:0; padding:0; }
  #product-listing .item-card .card { border-radius:10px; }
  #product-listing .card-img-container { height:210px; }
  #product-listing .card-img { height:100%; max-height:210px; margin:0; padding:16px; }
  #product-listing .product-title { font-size:16px; font-weight:700; }
  #product-listing .btn-add-to-cart-list, #product-listing .btn-explore-variants { padding:10px 12px; }
  .product-container { padding:16px; }
  .product-container .product-details { max-width:100% !important; }
  .product-container .product-image { height:280px; }
  .product-container .product-title { font-size:20px; line-height:1.35; flex:1; min-width:0; }
  .product-container .like-action-item-fp { flex-shrink:0; }
  .product-container .product-code { overflow-wrap:anywhere; }
  .product-container .item-cart .mb-4.d-flex { flex-wrap:wrap; gap:12px; }
  .product-container .item-cart .w-30-40, .product-container .btn-view-in-cart { width:100%; min-height:48px; white-space:normal; margin:0 !important; }
  .product-container .item-cart .formatted-price { display:block; margin-left:0 !important; }
  .product-container .item-website-specification .table { width:100%; overflow-wrap:anywhere; }
  .ratings-reviews-section { padding:16px 0; }
  .reviews-header, .rating-summary-section { flex-wrap:wrap; gap:12px; }
  .reviews-header > div { width:100%; }
  .review { max-width:100%; }
  .image-zoom-view button { right:16px !important; top:16px !important; min-width:44px; min-height:44px; }
  .modal-dialog { margin:12px; max-width:calc(100% - 24px); }
  .modal-body { max-height:70vh; max-height:70dvh; overflow-y:auto; }
  #page-cart .cart-container .frappe-card { padding:16px; }
  #page-cart .cart-container .cart-table .cart-items tr { display:flex; flex-wrap:wrap; padding:12px 0; border-bottom:1px solid #d8e2e8; }
  #page-cart .cart-container .cart-table .cart-items td { display:block; width:100% !important; border:0; }
  #page-cart .cart-container .cart-table .cart-item-image { min-width:64px; width:64px; margin-right:12px !important; }
  #page-cart .cart-container .cart-table .cart-items .item-title { width:100%; margin-right:0 !important; overflow-wrap:anywhere; }
  #page-cart .cart-container .cart-table .cart-items textarea { width:100%; min-height:64px; }
  #page-cart .cart-container .cart-table .remove-cart-item { display:flex !important; width:44px; height:44px; margin:4px 0 0 12px; }
  #page-cart .cart-container .number-spinner { width:160px; min-width:160px; }
  #page-cart .cart-container .number-spinner .cart-btn { width:44px; height:44px; }
  #page-cart .cart-container .number-spinner .cart-qty { height:44px; min-width:48px; }
  #page-cart .cart-container .cart-table .cart-items td.column-sm-view { display:none; }
  #page-cart .btn-request-for-quotation, #page-cart .btn-place-order { width:100%; white-space:normal; min-height:48px; }
  footer.web-footer > .container { padding-left:16px; padding-right:16px; }
}
@media (min-width:576px) and (max-width:767.98px) {
  #product-listing #products-grid-area { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:768px) and (max-width:1199.98px) {
  #product-listing #products-grid-area { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-left:0 !important; margin-right:0 !important; }
  #product-listing #products-grid-area.hidden { display:none; }
  #product-listing .item-card { width:100%; max-width:100%; padding:0; }
}
@media (max-width:991.98px) {
  #page-cart .cart-container > .row > .col-md-8, #page-cart .cart-container > .row > .col-md-4 { flex:0 0 100%; max-width:100%; padding:0; }
}
@media (max-width:767.98px) {
  #page-cart .cart-container .frappe-card.p-5 { padding:16px !important; }
  #page-cart .cart-container .cart-table .remove-cart-item.column-sm-view { display:flex !important; }
  #page-cart .cart-container .cart-table thead { display:none; }
  #page-cart .cart-container .cart-table, #page-cart .cart-container .cart-table tbody { display:block; width:100%; }
  #page-cart .cart-container .row.mt-2 > .col-3, #page-cart .cart-container .row.mt-2 > .col-9 { flex:0 0 100%; max-width:100%; margin-bottom:12px; }
  #page-cart .place-order-container .btn { width:100%; margin:0 !important; white-space:normal; }
  #page-cart .cart-empty-state img { width:100%; max-width:240px; }
  #page-cart .cart-empty-message { text-align:center; }
  #product-listing #search-results-container { padding:8px; }
  #product-listing #search-results-container a { display:block; min-height:44px; overflow-wrap:anywhere; }
  .modal-footer .btn { min-height:44px; }
}
@media (hover:none), (pointer:coarse) {
  #product-listing .btn-add-to-cart-list, #product-listing .btn-explore-variants,
  #product-listing .like-action, #product-listing .like-action-list { visibility:visible; }
  #product-listing .btn-add-to-cart-list, #product-listing .btn-explore-variants { min-height:44px; max-height:none !important; white-space:normal; }
}
/* The base website navbar has a fixed height. Let the mobile collapse stay in flow. */
@media (max-width:991.98px) {
  nav.navbar.navbar-light { height:auto !important; flex-shrink:0; align-items:flex-start; }
  nav.navbar > .container { height:auto; }
  nav.navbar .navbar-collapse { flex-basis:100%; width:100%; }
}
