/* Zamzam Pilgrim Laundry · v1.7 responsive alignment refinements
   Loaded last: keeps existing content, branding and SEO data untouched. */

/* Consistent optical alignment of SVG icons and text throughout the site. */
svg.icon {display:block; vertical-align:middle; flex:0 0 auto;}
.btn {display:inline-flex; align-items:center; justify-content:center; text-align:center; gap:10px;}
.btn > .icon {width:19px; height:19px; margin:0; flex:0 0 19px;}
.btn > .icon.icon-sm {width:16px; height:16px; flex-basis:16px;}
.btn-row {align-items:stretch;}
.btn-row > .btn {max-width:100%;}
.link-arrow {display:inline-flex; gap:8px; align-items:center; line-height:1.5;}
.link-arrow .icon {align-self:center;}
.hero-assurance > span,
.hero-assurance > a {display:inline-flex; align-items:center; gap:9px; line-height:1.45;}
.hero-assurance .icon {margin:0;}
.menu-toggle {align-items:center; justify-content:center; padding:0; flex:0 0 auto;}
.menu-toggle .icon {margin:auto;}
.drawer-close {align-items:center; justify-content:center; padding:0;}
.drawer-close .icon {margin:auto;}

/* Feature icon grid is truly centered, regardless of text wrapping. */
.trust-item {display:grid; grid-template-columns:52px minmax(0,1fr); align-items:center; column-gap:17px; min-width:0;}
.trust-item .trust-ico {width:52px; height:52px; display:grid; place-items:center; padding:0; margin:0; flex:none; color:#987549; font-size:initial;}
.trust-ico > svg.icon {width:24px; height:24px; margin:auto;}
.trust-item > div {min-width:0;}
.trust-item strong {line-height:1.45; margin:0;}
.trust-item > div > span {line-height:1.55; margin-top:5px;}
.plaque-icon {display:grid; place-items:center; padding:0; flex:0 0 auto;}
.plaque-icon > .icon {width:22px; height:22px; margin:0;}
.floating-plaque {align-items:center;}
.floating-plaque > div:last-child {min-width:0;}
.footer-contact-item {display:grid; grid-template-columns:19px minmax(0,1fr); align-items:start; column-gap:12px;}
.footer-contact-item > .icon {width:19px; height:19px; margin:3px 0 0;}
.footer-contact-item > span {min-width:0; overflow-wrap:anywhere;}
.location-pin {display:inline-flex; gap:9px; align-items:center;}
.location-pin .icon {margin:0;}

/* Match button geometry in all sections and prevent icon shifts on hover. */
.cta-band .cta-band-inner > .btn-row > .btn .icon {flex-shrink:0;}
.cta-band .cta-band-inner > .btn-row > .btn:hover .icon,
.sticky-mobile .btn:hover .icon {transform:none;}

@media (max-width:780px) {
  /* One contact action surface on mobile. The second fixed WhatsApp
     bubble competed with the sticky bar and hid headline/card text. */
  .wa-floating {display:none !important;}

  .sticky-mobile {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
    gap:10px;
    padding:10px max(14px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));
    background:rgba(255,253,249,.97);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
    border-top:1px solid rgba(25,58,50,.1);
    box-shadow:0 -9px 26px rgba(12,44,35,.08);
    z-index:125;
    transition:transform .24s ease, opacity .24s ease;
    will-change:transform;
  }
  .sticky-mobile .btn {
    box-sizing:border-box;
    display:inline-flex;
    width:100%;
    min-width:0;
    min-height:50px;
    height:50px;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:10px 12px;
    font-size:13px;
    font-weight:800;
    line-height:1.2;
    white-space:nowrap;
    text-align:center;
    border-radius:9px;
  }
  .sticky-mobile .btn > svg.icon {width:20px; height:20px; flex:0 0 20px; margin:0;}
  .sticky-mobile.is-hidden,
  body.menu-open .sticky-mobile {transform:translateY(115%); pointer-events:none; opacity:0;}
  .site-footer {padding-bottom:calc(108px + env(safe-area-inset-bottom));}

  .trust-grid {display:grid; grid-template-columns:1fr;}
  .trust-item,
  .trust-item:first-child,
  .trust-item:nth-child(2),
  .trust-item:last-child {
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    align-items:center;
    justify-content:initial;
    gap:16px;
    padding:19px 10px !important;
    border-right:0;
    border-top:0;
    border-bottom:1px solid #e7dfd1;
  }
  .trust-item:last-child {border-bottom:0;}
  .trust-item strong {font-size:14px;}
  .trust-item > div > span {font-size:12px;}
  .trust-item .trust-ico {width:52px; height:52px; display:grid; place-items:center; margin:0;}

  .pilgrim-focus.section {padding-top:58px; padding-bottom:65px;}
  .pilgrim-intro {gap:15px; margin-bottom:30px;}
  .pilgrim-focus .heading {font-size:clamp(35px,8.8vw,51px); line-height:1.14; letter-spacing:-.035em; overflow-wrap:normal;}
  .pilgrim-card {min-height:0; padding:29px 27px 30px;}
  .pilgrim-card:before {left:27px; top:79px;}
  .pilgrim-card h3 {font-size:clamp(27px,6.9vw,35px); line-height:1.16; margin:32px 0 14px;}
  .pilgrim-card p {font-size:13px; line-height:1.8;}
  .pilgrim-card .link-arrow {align-self:flex-start; margin-top:12px;}
  .pilgrim-card-grid {gap:15px;}
  .hero-assurance {align-items:flex-start;}
  .hero-assurance > span,.hero-assurance > a {max-width:100%;}
  .faq-layout .accordion summary {align-items:center;}
  .faq-layout .accordion summary::after {align-self:center;}
}
@media(max-width:380px) {
  .sticky-mobile {gap:8px; padding-left:10px; padding-right:10px;}
  .sticky-mobile .btn {font-size:12px; gap:8px; padding-inline:8px;}
  .sticky-mobile .btn > svg.icon {width:18px; height:18px; flex-basis:18px;}
  .pilgrim-focus .heading {font-size:clamp(32px,8.5vw,37px);}
  .pilgrim-card {padding:26px 22px;}
  .pilgrim-card:before {left:22px;}
  .trust-item,.trust-item:first-child,.trust-item:nth-child(2),.trust-item:last-child {padding-inline:4px !important;}
}
@media (prefers-reduced-motion:reduce){.sticky-mobile{transition:none!important;}}
