/* CRF Tuning stable v2.1 mobile/desktop safeguards */
html,body{max-width:100%;overflow-x:hidden;}*{box-sizing:border-box;}img,video,iframe{max-width:100%;height:auto;}button,.btn,a[role="button"],input,select,textarea{touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,229,255,.22);}button,.btn{cursor:pointer;}
.crf-sidebar-collapse-btn{display:block;margin:12px auto 16px;padding:10px 14px;border-radius:12px;border:1px solid rgba(0,229,255,.35);background:rgba(0,229,255,.1);color:#fff;font-weight:900;}
body.crf-sidebar-collapsed nav.crf-site-sidebar{width:92px!important;}body.crf-sidebar-collapsed nav.crf-site-sidebar .brand span,body.crf-sidebar-collapsed nav.crf-site-sidebar .navlinks a{font-size:0!important;}body.crf-sidebar-collapsed nav.crf-site-sidebar .navlinks a:before{content:attr(data-crf-short);font-size:12px!important;}
.crf-search-hidden{display:none!important;}.price-card-grid .card,.service-card,.price-card,.me38-service-card{cursor:pointer;}.price-card-grid .card:not(.open):not(.crf-card-open) .card-details,.service-card:not(.open):not(.crf-card-open) .card-details,.price-card:not(.open):not(.crf-card-open) .card-details{display:none;}
@media(max-width:900px){nav.nav{position:sticky!important;top:0!important;z-index:10000!important;width:100%!important;left:0!important;right:0!important;}nav.nav .container{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;}nav.nav .mobile-menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:46px!important;min-width:78px!important;z-index:10003!important;}nav.nav .navlinks,nav.nav .nav-links{display:none!important;position:fixed!important;top:0!important;left:0!important;bottom:0!important;width:min(84vw,340px)!important;height:100vh!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;background:#050b12!important;border-right:1px solid rgba(0,229,255,.32)!important;padding:86px 18px 26px!important;z-index:10002!important;box-shadow:24px 0 70px rgba(0,0,0,.55)!important;}nav.nav.crf-mobile-open .navlinks,nav.nav.crf-mobile-open .nav-links,nav.nav.nav-open .navlinks,nav.nav.nav-open .nav-links{display:flex!important;flex-direction:column!important;gap:8px!important;}nav.nav .navlinks a,nav.nav .nav-links a{display:flex!important;min-height:48px!important;align-items:center!important;padding:12px 14px!important;border-radius:14px!important}.crf-sidebar-collapse-btn{display:none!important}.price-card-grid,.grid,.cards,.project-grid{grid-template-columns:1fr!important;width:100%!important}.section,.container{max-width:100%!important;width:100%!important}.crf-basket-product{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.checkout-grid,.basket-grid{grid-template-columns:1fr!important}.filterbar{overflow-x:auto!important;justify-content:flex-start!important;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch!important}.filterbar button{flex:0 0 auto!important;min-height:42px!important}}
@media(min-width:901px){.mobile-menu-toggle{display:none!important}nav.crf-site-sidebar .navlinks,nav.crf-site-sidebar .nav-links{display:flex!important;flex-direction:column!important}.crf-sidebar-collapse-btn{display:block!important}}

/* v2.1.1 final mobile service card/payment fixes */
body.services-page .price-card-grid .card.crf-card-collapsed .crf-card-body,
body.services-page .service-card.crf-card-collapsed .crf-card-body,
body.services-page .price-card.crf-card-collapsed .crf-card-body,
body.services-page .me38-service-card.crf-card-collapsed .crf-card-body{display:none!important;}
body.services-page .price-card-grid .card.crf-card-open .crf-card-body,
body.services-page .price-card-grid .card.open .crf-card-body,
body.services-page .service-card.crf-card-open .crf-card-body,
body.services-page .price-card.crf-card-open .crf-card-body,
body.services-page .me38-service-card.crf-card-open .crf-card-body{display:block!important;}
body.services-page .price-card-grid .card{touch-action:manipulation;-webkit-user-select:none;user-select:none;}
body.services-page .price-card-grid .card a,
body.services-page .price-card-grid .card button,
body.services-page .price-card-grid .card input,
body.services-page .price-card-grid .card select,
body.services-page .price-card-grid .card textarea{touch-action:manipulation;-webkit-user-select:auto;user-select:auto;}
#servicePagePayMethodSelect,#servicePagePayChoiceSelect,#serviceFulfilmentSelect{pointer-events:auto!important;touch-action:manipulation!important;-webkit-appearance:auto!important;appearance:auto!important;position:relative!important;z-index:20!important;min-height:48px!important;background:#071016!important;color:#fff!important;}
.crf-checkout-options,.basket-summary-card,.crf-checkout-summary{pointer-events:auto!important;}

/* v2.1.2 mobile WhatsApp/basket overlap fix
   Keeps floating WhatsApp above the mobile basket/pay button on iOS/Android. */
@media (max-width: 900px){
  .whatsapp,
  .whatsapp-live-chat,
  body.services-page .whatsapp,
  body.services-page .whatsapp-live-chat{
    right:16px!important;
    bottom:calc(96px + env(safe-area-inset-bottom, 0px))!important;
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    max-width:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    z-index:99970!important;
  }
  .fixed-basket-button,
  .crf-mobile-sticky-bar,
  .crf-mobile-pay-summary{
    z-index:99980!important;
  }
}
@media (max-width: 420px){
  .whatsapp,
  .whatsapp-live-chat,
  body.services-page .whatsapp,
  body.services-page .whatsapp-live-chat{
    bottom:calc(104px + env(safe-area-inset-bottom, 0px))!important;
    right:14px!important;
  }
}

/* CRF PayPal Complete Payments / Apple Pay */
.crf-paypal-modal{display:none;position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.78);padding:20px;align-items:center;justify-content:center}.crf-paypal-modal.open{display:flex}.crf-paypal-dialog{position:relative;width:min(520px,100%);max-height:90vh;overflow:auto;background:#08111b;border:1px solid rgba(39,146,255,.45);border-radius:22px;padding:26px;color:#fff;box-shadow:0 28px 80px rgba(0,0,0,.65)}.crf-paypal-dialog h2{margin:0 45px 6px 0}.crf-paypal-sub{color:#c4d0dc;line-height:1.5}.crf-paypal-close{position:absolute;right:16px;top:14px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#111b28;color:#fff;font-size:26px;cursor:pointer}.crf-paypal-message{min-height:24px;margin:12px 0;color:#8ddcff}.crf-paypal-message.bad{color:#ff7889}.apple-pay-button{display:block;width:100%;height:52px;margin:12px 0 14px;border-radius:8px;border:0;cursor:pointer;-webkit-appearance:-apple-pay-button;--apple-pay-button-type:plain;--apple-pay-button-style:black}.apple-pay-button-black{-apple-pay-button-style:black}.crf-paypal-dialog small{display:block;color:#9eafbf;line-height:1.45;margin-top:12px}

/* v57 Apple Pay + Google Pay checkout buttons */
.crf-wallet-wrap{margin:12px 0}.crf-wallet-wrap>div{width:100%}.crf-wallet-wrap iframe{max-width:100%!important}.crf-paypal-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:#8fa4b7;font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}.crf-paypal-divider:before,.crf-paypal-divider:after{content:"";height:1px;background:rgba(255,255,255,.15);flex:1}.crf-paypal-divider span{white-space:nowrap}#crfGooglePayButton>div{width:100%!important;min-width:0!important}#crfGooglePayButton button{width:100%!important;min-height:52px!important;border-radius:8px!important}

/* v58 persistent Google Pay option */
.crf-googlepay-fallback{width:100%;min-height:52px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#000;color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font:700 16px/1 Arial,sans-serif;cursor:pointer}.crf-googlepay-fallback:hover{background:#111}.crf-gpay-mark{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#fff;color:#4285f4;font-weight:900;font-size:18px}.crf-wallet-note{margin-top:6px;color:#9eafbf;font-size:.78rem;line-height:1.35}

.crf-wallet-quick-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 4px}.crf-wallet-quick{min-height:58px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#07111c;color:#fff;display:flex;align-items:center;gap:10px;padding:10px 14px;text-align:left;cursor:pointer}.crf-wallet-quick:hover{border-color:#2792ff;background:#0b1724}.crf-wallet-quick span:last-child{display:flex;flex-direction:column;gap:2px}.crf-wallet-quick strong{font-size:.96rem}.crf-wallet-quick small{font-size:.72rem;color:#aebdca;line-height:1.25}.crf-apple-mark{font-size:25px;line-height:1}.crf-google-mark{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:#fff;color:#4285f4;font-weight:900;font-size:19px}@media(max-width:640px){.crf-wallet-quick-options{grid-template-columns:1fr}}

/* v60 logo-only express wallet buttons */
.crf-wallet-quick-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.crf-wallet-quick{min-height:52px;padding:8px 16px;justify-content:center;text-align:center;border-radius:9px}
.crf-wallet-quick span:last-child{display:inline-flex;flex-direction:row;gap:6px}
.crf-wallet-quick small,.crf-wallet-quick strong{display:none!important}
.crf-wallet-logo{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;font-family:Arial,sans-serif;font-size:20px;font-weight:600;line-height:1}
.crf-wallet-apple{background:#000;border-color:#000;color:#fff}
.crf-wallet-apple:hover{background:#151515;border-color:#333}
.crf-apple-pay-logo .crf-apple-mark{font-size:26px;font-weight:400}
.crf-wallet-google{background:#fff;border-color:#d6d9dc;color:#202124}
.crf-wallet-google:hover{background:#f7f8f8;border-color:#bfc4c8}
.crf-google-g{font-weight:800;font-size:22px;color:#4285f4}
@media(max-width:640px){.crf-wallet-quick-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.crf-wallet-logo{font-size:17px}.crf-apple-pay-logo .crf-apple-mark{font-size:23px}}

/* v61 express wallet buttons below the primary payment button */
.crf-wallet-after-payment{margin-top:12px}
.crf-wallet-after-payment[hidden]{display:none!important}
.crf-wallet-or{display:flex;align-items:center;gap:12px;margin:10px 0;color:#8fa4b7;font-size:.72rem;font-weight:800;letter-spacing:.14em}
.crf-wallet-or:before,.crf-wallet-or:after{content:"";height:1px;background:rgba(255,255,255,.14);flex:1}
.crf-wallet-or span{white-space:nowrap}
.crf-wallet-after-payment .crf-wallet-quick-options{margin:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.crf-wallet-after-payment .crf-wallet-quick{width:100%;min-height:52px}
.crf-wallet-trust{margin-top:8px;text-align:center;color:#94a7b8;font-size:.76rem;line-height:1.35}
@media(max-width:420px){.crf-wallet-after-payment .crf-wallet-quick-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.crf-wallet-after-payment .crf-wallet-quick{padding:8px 10px}.crf-wallet-trust{font-size:.7rem}}

/* v71: native Apple Pay custom element must have explicit dimensions. */
apple-pay-button#crfApplePayNativeButton,
#crfApplePayButton apple-pay-button,
#crfApplePayNativeButton.apple-pay-button{
  display:block!important;
  width:100%!important;
  min-width:200px!important;
  height:52px!important;
  min-height:52px!important;
  margin:12px 0 14px!important;
  border-radius:8px!important;
  --apple-pay-button-width:100%;
  --apple-pay-button-height:52px;
  --apple-pay-button-border-radius:8px;
  --apple-pay-button-padding:0;
  --apple-pay-button-box-sizing:border-box;
}

/* v79 payment wallet badges */
.crf-pay-badge.wallet-logo-badge{padding:0;background:transparent;border:0;overflow:hidden;display:inline-flex;align-items:center}.crf-pay-badge.wallet-logo-badge img{display:block;width:78px;height:31px;object-fit:contain}.crf-paypal-brand-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 14px}.crf-paypal-brand-row img{width:88px;height:35px;object-fit:contain}.crf-paypal-brand-chip{min-height:35px;padding:0 12px;border:1px solid rgba(255,255,255,.18);border-radius:8px;display:inline-flex;align-items:center;font-size:.78rem;font-weight:800;background:#111c29;color:#fff}.crf-paypal-brand-chip.klarna{background:#ffb3c7;color:#111;border-color:#ffb3c7}.crf-paypal-brand-chip.payin3{background:#fff;color:#172c70;border-color:#fff}@media(max-width:520px){.crf-paypal-brand-row{gap:6px}.crf-paypal-brand-row img{width:76px;height:31px}.crf-paypal-brand-chip{min-height:31px;padding:0 9px;font-size:.7rem}}
