/* =====================================================================
   Appslin — Dynamic Website Design page: FIX LAYER (additive only)
   Loaded last. Does not modify any existing production CSS file.
   ===================================================================== */

/* ---------- CHANGE 1 : banner copy sits higher, aligned with image ---------- */
.page-dynamic .dy-hero .crumbs{ margin-bottom:10px; }
@media (min-width:1024px){
  .page-dynamic .dy-hero{ padding-top:clamp(26px,2.6vw,44px); }
  .page-dynamic .dy-hero .pr-hero-grid{
    align-items:start;
    gap:38px;
  }
  .page-dynamic .dy-hero .pr-hero-copy{ padding-top:0; }
  .page-dynamic .dy-hero .pr-hero-copy .pr-badge{ margin-top:0; }
  .page-dynamic .dy-hero .pr-hero-title{ margin-top:12px; }
  .page-dynamic .dy-hero .pr-hero-visual{ padding-top:0; }
  .page-dynamic .dy-hero .dy-hero-art img{ min-height:0; }
}

/* ---------- CHANGE 2 : quote form phone row + full-width service type ---------- */
.dyf-form .form-row--phone{ grid-template-columns:minmax(0,1fr); }
.dyf-form .field--full{ grid-column:1 / -1; width:100%; }
.dyf-form .field--full select{ width:100%; }
.dyf-form .phone-group{
  display:grid;
  grid-template-columns:minmax(112px,132px) minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.dyf-form .phone-group .country-code{
  width:100%; min-width:0; padding:12px 10px; font-size:14px;
}
.dyf-form .phone-group input[type=tel]{ width:100%; min-width:0; }
@media (max-width:420px){
  .dyf-form .phone-group{ grid-template-columns:minmax(96px,110px) minmax(0,1fr); gap:8px; }
}

/* ---------- CHANGE 3 : uncropped, balanced images in the two split sections ---------- */
@media (min-width:1024px){
  .page-dynamic #lasting-impact .pp-split,
  .page-dynamic #versatile .pp-split{ align-items:center; }
  .page-dynamic #lasting-impact .pp-split-visual,
  .page-dynamic #versatile .pp-split-visual{
    position:static;
    display:block;
    height:auto;
    min-height:0;
    align-self:center;
  }
  .page-dynamic #lasting-impact .pp-split-visual img,
  .page-dynamic #versatile .pp-split-visual img{
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    object-fit:contain;
    border-radius:22px;
  }
}
.page-dynamic #lasting-impact .pp-split-visual img,
.page-dynamic #versatile .pp-split-visual img{
  height:auto; min-height:0; max-height:none; object-fit:contain;
}

/* ---------- CHANGE 4 : 30 Day Error/Bug Fix Maintenance full-width & centered ---------- */
.page-dynamic .dy-comp li:last-child{
  grid-column:1 / -1;
  justify-content:center;
  text-align:center;
}

/* ---------- SPACING : more compact sections, same design ---------- */
.page-dynamic .section{ padding:clamp(44px,5vw,74px) 0; }
.page-dynamic .sec-head{ margin-bottom:26px; }
.page-dynamic .p-note{ margin-top:22px; }
.page-dynamic .pf-statement{ margin-top:28px; }
@media (max-width:640px){
  .page-dynamic .section{ padding:38px 0; }
}

/* versatile: single-column mini cards keep content and image balanced */
@media (min-width:1024px){
  .page-dynamic #versatile .pp-cards{ grid-template-columns:minmax(0,1fr); }
}

/* ---------- Hide the floating reCAPTCHA v3 badge sitting behind the WhatsApp / Scroll-Up widgets.
   Verification still runs; the required "Protected by reCAPTCHA" notice stays inside each form. ---------- */
.grecaptcha-badge{
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  width:0 !important;
  height:0 !important;
  overflow:hidden !important;
  box-shadow:none !important;
}
