/* OrangeMoon PWA + Mobile Friendliness Layer v1.32 */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{overflow-x:hidden;touch-action:manipulation;}
img,svg,video,canvas{max-width:100%;height:auto;}
input,select,textarea,button{font-size:16px;}
button,a,.btn,.nav-cta,.whatsapp-float{touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,106,0,.22);}
:where(.section-inner,.nav-shell,.admin-shell,.admin-content){max-width:min(1180px, calc(100vw - 32px));}
:where(.hero-title,.page-hero h1,.section-title h2,.section-heading h2,.admin-hero h1,.dashboard-hero h1){overflow-wrap:break-word;word-break:normal;hyphens:auto;}
:where(.hero-title){font-size:clamp(2.45rem, 6vw, 5.75rem);line-height:.98;letter-spacing:-.055em;}
:where(.page-hero h1){font-size:clamp(2.1rem, 5.4vw, 4.6rem);line-height:1.04;letter-spacing:-.045em;}
:where(.section-title h2,.section-heading h2){font-size:clamp(1.85rem, 4vw, 3.7rem);line-height:1.08;letter-spacing:-.035em;}
:where(.card,.product-card,.service-card,.branch-card,.form-card,.quote-box,.package-card){min-width:0;}
.pwa-install-box{position:fixed;left:50%;bottom:18px;z-index:1200;display:flex;align-items:center;gap:14px;width:min(560px,calc(100vw - 24px));padding:14px 14px 14px 16px;border-radius:24px;background:rgba(7,24,50,.96);color:#fff;box-shadow:0 20px 60px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.12);transform:translate(-50%, 28px);opacity:0;pointer-events:none;transition:.25s ease;backdrop-filter:blur(18px)}
.pwa-install-box.is-visible{opacity:1;transform:translate(-50%,0);pointer-events:auto}.pwa-install-icon{width:46px;height:46px;border-radius:16px;object-fit:cover;flex:0 0 auto}.pwa-install-text{flex:1;min-width:0}.pwa-install-text strong{display:block;font-size:.98rem}.pwa-install-text small{display:block;color:rgba(255,255,255,.72);line-height:1.35}.pwa-install-actions{display:flex;gap:8px;align-items:center}.pwa-install-actions button{border:0;border-radius:999px;font-weight:800;cursor:pointer}.pwa-install-actions [data-pwa-install]{background:linear-gradient(135deg,#ff6a00,#ff8f20);color:#fff;padding:10px 14px}.pwa-install-actions [data-pwa-install-close]{background:rgba(255,255,255,.12);color:#fff;width:38px;height:38px}
@media (max-width: 980px){
  :where(.hero-grid,.hero-content,.split-grid,.content-grid,.product-detail-grid,.checkout-grid,.dashboard-grid,.admin-dashboard-grid){grid-template-columns:1fr!important;}
  .site-header{position:sticky;top:0;z-index:1000}.nav-shell{min-height:74px}.brand-logo{width:48px;height:48px}.brand-fallback{font-size:1rem}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px}.nav-links{position:absolute;top:calc(100% + 8px);left:16px;right:16px;display:none;max-height:calc(100vh - 100px);overflow:auto;padding:14px;border-radius:24px;background:rgba(7,24,50,.98);box-shadow:0 26px 80px rgba(0,0,0,.35)}.nav-links.is-open{display:block}.nav-links a,.nav-links summary{display:flex;width:100%;padding:14px 12px;border-radius:14px;color:#fff}.nav-dropdown,.nav-dropdown-wide{position:static!important;width:100%!important;display:grid!important;margin:6px 0 12px;background:rgba(255,255,255,.07)!important;box-shadow:none!important}.nav-count{margin-left:auto}.nav-cta{justify-content:center;background:linear-gradient(135deg,#ff6a00,#ff8f20)!important;color:#fff!important}
}
@media (max-width: 760px){
  body{font-size:15.5px}.section{padding-block:56px!important}.section-inner{width:100%;padding-inline:0}.hero-section,.hero,.home-hero{padding-top:34px!important;padding-bottom:54px!important}.hero-title{font-size:clamp(2.05rem,12.8vw,3.35rem)!important;line-height:1.02!important;letter-spacing:-.045em!important}.hero-subtitle,.hero-copy,.lead{font-size:1rem!important;line-height:1.65!important}.hero-actions,.cta-row,.button-row,.product-actions,.package-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.hero-actions .btn,.cta-row .btn,.button-row .btn,.product-actions .btn,.package-actions .btn{width:100%;justify-content:center;min-height:48px}.stats-grid,.counter-grid,.departments-grid,.product-grid,.products-grid,.services-grid,.branches-grid,.testimonials-grid,.portfolio-grid,.blog-grid,.package-grid,.cards-grid{display:grid!important;grid-template-columns:1fr!important;gap:18px!important}.card,.product-card,.service-card,.branch-card,.form-card,.testimonial-card,.package-card{border-radius:24px!important;padding:20px!important}.product-image,.product-card img,.product-media{min-height:180px;max-height:260px;object-fit:contain}.page-hero{padding-block:56px!important}.page-hero h1{font-size:clamp(2rem,11vw,3rem)!important}.section-title h2,.section-heading h2{font-size:clamp(1.75rem,9vw,2.55rem)!important}.table-wrap,.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table,.admin-table-wrap table{min-width:720px}.form-grid,.admin-form-grid{grid-template-columns:1fr!important}.whatsapp-commerce-float{right:12px;bottom:12px}.whatsapp-mini-panel{display:none!important}.cookie-consent{left:12px!important;right:12px!important;bottom:12px!important;width:auto!important}.pwa-install-box{align-items:flex-start}.pwa-install-actions{flex-direction:column}.pwa-install-actions [data-pwa-install-close]{width:34px;height:34px}
}
@media (max-width: 460px){
  :where(.section-inner,.nav-shell,.admin-shell,.admin-content){max-width:min(100%, calc(100vw - 20px));}.brand-fallback{display:none}.hero-title{font-size:clamp(1.95rem,13.5vw,2.8rem)!important}.hero-kicker,.eyebrow,.badge{font-size:.74rem!important}.card,.product-card,.service-card,.branch-card,.form-card,.testimonial-card,.package-card{padding:17px!important;border-radius:20px!important}.pwa-install-box{gap:10px;padding:12px}.pwa-install-icon{width:40px;height:40px}.pwa-install-text small{display:none}.pwa-install-actions [data-pwa-install]{padding:9px 12px;font-size:.85rem}
}
@media (display-mode: standalone){
  .pwa-install-box{display:none!important}.site-header{padding-top:env(safe-area-inset-top)}body{padding-bottom:env(safe-area-inset-bottom)}
}

/* OrangeMoon Mobile Product Layout Emergency Fix v1.34
   Fixes squeezed 3-column product cards on phones and improves storefront + product listing cards. */
@media (max-width: 820px) {
  body.public-site .storefront-showcase .product-grid,
  body.public-site .products .product-grid,
  body.public-site .product-listing-grid,
  body.public-site .grid-3.product-listing-grid,
  body.public-site.page-products .grid-3 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    overflow: visible !important;
  }

  body.public-site .storefront-showcase .product-card,
  body.public-site.page-products .product-card,
  body.public-site .product-listing-grid .product-card {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 10px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fff7ef 100%) !important;
    color: #071a35 !important;
    border: 1px solid rgba(255, 106, 0, .20) !important;
    box-shadow: 0 12px 28px rgba(7, 24, 50, .14) !important;
    overflow: hidden !important;
    transform: none !important;
  }

  body.public-site .storefront-showcase .product-card::before,
  body.public-site .storefront-showcase .product-card::after,
  body.public-site.page-products .product-card::before,
  body.public-site.page-products .product-card::after,
  body.public-site .product-listing-grid .product-card::before,
  body.public-site .product-listing-grid .product-card::after {
    display: none !important;
    content: none !important;
  }

  body.public-site.page-products .product-card .product-image,
  body.public-site.page-products .product-card .product-image-slot,
  body.public-site .product-listing-grid .product-card .product-image,
  body.public-site .product-listing-grid .product-card .product-image-slot,
  body.public-site .storefront-card .storefront-image-wrap {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 126px !important;
    min-height: 126px !important;
    max-height: 126px !important;
    margin: 0 0 9px !important;
    padding: 0 !important;
    border-radius: 16px !important;
    background: #f8fafc !important;
    border: 1px solid rgba(9, 28, 60, .08) !important;
    overflow: hidden !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.7) !important;
  }

  body.public-site.page-products .product-card .product-image img,
  body.public-site.page-products .product-card .product-image-slot img,
  body.public-site .product-listing-grid .product-card .product-image img,
  body.public-site .product-listing-grid .product-card .product-image-slot img,
  body.public-site .storefront-card .storefront-image-wrap img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    padding: 8px !important;
    object-fit: contain !important;
    transform: none !important;
    filter: none !important;
  }

  body.public-site.page-products .image-slot-label,
  body.public-site .product-listing-grid .image-slot-label {
    display: none !important;
  }

  body.public-site.page-products .product-card .tag,
  body.public-site .product-listing-grid .product-card .tag,
  body.public-site .storefront-card .product-badge {
    position: static !important;
    display: inline-flex !important;
    align-self: flex-start !important;
    max-width: 100% !important;
    margin: 0 0 7px !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    background: rgba(255, 106, 0, .10) !important;
    color: #e45c00 !important;
    border: 1px solid rgba(255, 106, 0, .20) !important;
    box-shadow: none !important;
    font-size: .62rem !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    letter-spacing: .01em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    backdrop-filter: none !important;
  }

  body.public-site .storefront-card .storefront-image-wrap span,
  body.public-site.page-products .stock-line span,
  body.public-site .product-listing-grid .stock-line span {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 4px 8px !important;
    border-radius: 999px !important;
    background: rgba(7, 28, 60, .10) !important;
    color: #082247 !important;
    font-size: .66rem !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    border: 1px solid rgba(7, 28, 60, .08) !important;
    box-shadow: none !important;
  }

  body.public-site .storefront-card .storefront-image-wrap span {
    position: absolute !important;
    left: 8px !important;
    bottom: 8px !important;
    background: rgba(7, 28, 60, .86) !important;
    color: #fff !important;
  }

  body.public-site.page-products .product-card h3,
  body.public-site .product-listing-grid .product-card h3,
  body.public-site .storefront-card h3 {
    margin: 0 0 6px !important;
    color: #071a35 !important;
    font-size: .94rem !important;
    line-height: 1.18 !important;
    font-weight: 950 !important;
    letter-spacing: -.01em !important;
    min-height: 2.2em !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.public-site.page-products .product-card > p,
  body.public-site .product-listing-grid .product-card > p,
  body.public-site .storefront-card > p {
    display: none !important;
  }

  body.public-site.page-products .price-row,
  body.public-site .product-listing-grid .price-row,
  body.public-site .storefront-card .price-row {
    display: grid !important;
    gap: 2px !important;
    margin: 0 0 8px !important;
  }

  body.public-site.page-products .price,
  body.public-site .product-listing-grid .price,
  body.public-site .storefront-card .price {
    color: #ff6a00 !important;
    font-size: 1rem !important;
    font-weight: 950 !important;
    line-height: 1.05 !important;
  }

  body.public-site.page-products .price-row small,
  body.public-site .product-listing-grid .price-row small,
  body.public-site .storefront-card .price-row small {
    color: #647084 !important;
    font-size: .72rem !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.public-site.page-products .stock-line,
  body.public-site .product-listing-grid .stock-line {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px !important;
    margin: 0 0 9px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  body.public-site.page-products .stock-line small,
  body.public-site .product-listing-grid .stock-line small {
    max-width: 100% !important;
    color: #7d8795 !important;
    font-size: .64rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.public-site.page-products .card-actions,
  body.public-site .product-listing-grid .card-actions,
  body.public-site .storefront-card .card-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
    margin-top: auto !important;
  }

  body.public-site.page-products .card-actions .btn,
  body.public-site .product-listing-grid .card-actions .btn,
  body.public-site .storefront-card .card-actions .btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    padding: 8px 6px !important;
    border-radius: 12px !important;
    font-size: .72rem !important;
    line-height: 1.1 !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }

  body.public-site.page-products .card-actions .btn:first-child,
  body.public-site .product-listing-grid .card-actions .btn:first-child {
    grid-column: 1 / -1 !important;
  }

  body.public-site.page-products .product-filter-toolbar {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 9px !important;
    padding: 12px !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.96) !important;
  }
  body.public-site.page-products .product-filter-toolbar input,
  body.public-site.page-products .product-filter-toolbar select,
  body.public-site.page-products .product-filter-toolbar .btn {
    width: 100% !important;
    max-width: none !important;
    min-height: 42px !important;
    border-radius: 13px !important;
    font-size: .86rem !important;
  }
  body.public-site.page-products .product-filter-toolbar input[type="search"] {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 360px) {
  body.public-site .storefront-showcase .product-grid,
  body.public-site.page-products .grid-3,
  body.public-site .product-listing-grid {
    grid-template-columns: 1fr !important;
  }
}
