/* Phase 11 QC polish: consistent contact details, mockup alignment, overflow fixes */
html, body { max-width: 100%; overflow-x: hidden; }
.in { width: 100%; }
.logo img { display:block; width:58px; height:58px; object-fit:contain; }
.logo { min-width: 0; }
.logo-text { overflow: hidden; text-overflow: ellipsis; }
.top .right span { white-space: nowrap; }
.head .in { grid-template-columns: minmax(245px, 295px) minmax(360px, 1fr) minmax(255px, 315px); }
.search { min-width: 0; }
.act { min-width: 250px; }
.nav .in { min-width: 0; overflow-x: auto; scrollbar-width: thin; }
.nav a { white-space: nowrap; }

/* Store grid polish */
.shop { grid-template-columns: 282px minmax(0, 1fr); }
.shop main { min-width:0; }
.shopgrid { grid-template-columns: repeat(auto-fill, minmax(205px, 1fr)); align-items: stretch; }
.product-card { min-height: 386px; }
.product-card .actions { grid-template-columns: 1fr 1fr; }
.product-card .actions .btn { min-height: 45px; line-height: 1.15; }
.pimg { background: linear-gradient(180deg, #fff, #f8fbff); }
.bar { flex-wrap: wrap; }
.sort select { min-width: 210px; }
.filter { position: sticky; top: 12px; }
.filter input[type="radio"], .filter input[type="checkbox"] { accent-color: #0a73d9; }

/* Services page closer to the approved design and less emoji-heavy */
.service-hero { align-items: start; }
.service-hero > aside.panel { position: sticky; top: 14px; max-height: calc(100vh - 28px); overflow: auto; }
.service-banner { min-height: 325px; padding: 34px 34px 22px; background: linear-gradient(100deg,#fff 0%,#fff 50%,rgba(232,244,255,.92) 66%,#d9efff 100%); }
.service-banner:after { content:""; position:absolute; right:24px; bottom:0; width:38%; height:86%; border-radius:18px 18px 0 0; background: linear-gradient(135deg, rgba(8,43,95,.08), rgba(10,141,222,.16)); border:1px solid rgba(10,141,222,.12); opacity:.95; }
.service-banner > * { position: relative; z-index: 1; }
.service-banner h1 { font-size: clamp(34px, 3vw, 46px); letter-spacing: -.8px; }
.service-banner h2 { font-size: clamp(20px, 2vw, 28px); }
.service-banner p { max-width: 760px; }
.service-badges { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.service-badge { min-height: 76px; }
.included .panel.service { min-height: 152px; align-items:center; }
.included .ico { width:54px; height:54px; border-radius:999px; background:#edf6ff; display:flex; align-items:center; justify-content:center; font-size:28px; }
.plan { min-height: 292px; }
.contact-strip { border:1px solid #d7e8f9; box-shadow: 0 8px 22px rgba(6,40,87,.035); }

/* Cart/account tables stay inside their cards */
.panel { min-width: 0; }
.cart-layout > * { min-width: 0; }
.cart-table { min-width: 680px; }
.panel:has(.cart-table) { overflow-x:auto; }

@media(max-width:1300px){
  .head .in { grid-template-columns: 250px minmax(320px, 1fr) 245px; gap:18px; }
  .products { grid-template-columns: repeat(4, 1fr); }
  .service-badges { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width:1050px){
  .head .in { grid-template-columns: 1fr; }
  .act { justify-content:flex-start; min-width:0; }
  .filter { position:static; }
  .service-hero > aside.panel { position: static; max-height: none; }
  .service-banner:after { display:none; }
}
@media(max-width:700px){
  .top .right span:nth-child(3), .top .right span:nth-child(4) { display:none; }
  .shopgrid { grid-template-columns: 1fr; }
  .cart-table { min-width: 0; }
}
