.footer-socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.footer-socials a{display:inline-flex;padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:6px;color:#fff;text-decoration:none;font-size:11px;font-weight:700}
.footer-socials a:hover{border-color:var(--rdx-primary);color:var(--rdx-primary)}
.footer-social-title{flex:0 0 100%;color:#fff;font-size:12px;letter-spacing:.04em}
.location-consent{position:fixed;left:18px;bottom:18px;z-index:12000;width:min(430px,calc(100vw - 36px));padding:20px;border:1px solid #dbe4f1;border-radius:14px;background:#fff;color:#17243a;box-shadow:0 20px 60px rgba(7,19,38,.22);font-family:Inter,Arial,sans-serif}.location-consent[hidden]{display:none}.location-consent strong{display:block;font-size:16px}.location-consent p{margin:8px 0 16px;font-size:12px;line-height:1.55;color:#5d6b82}.location-consent div{display:flex;flex-wrap:wrap;gap:9px}.location-consent button{padding:10px 13px;border:1px solid #dbe4f1;border-radius:8px;background:#fff;color:#17243a;font-size:11px;font-weight:800;cursor:pointer}.location-consent button:first-child{border-color:var(--rdx-primary);background:var(--rdx-primary);color:#fff}@media(max-width:520px){.location-consent{left:12px;bottom:12px;width:calc(100vw - 24px);padding:17px}.location-consent div{display:grid}.location-consent button{width:100%}}
.mobile-phone-item{display:none}
@media(max-width:820px){.mobile-phone-item{display:block}.site-navigation .mobile-phone-item a{width:100%;color:var(--rdx-primary)}}
.aps-core-card.aps-colour-selected{background:var(--selected-colour);border-color:rgba(15,23,42,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),0 12px 30px rgba(15,23,42,.12)}
.aps-core-card.aps-colour-selected .aps-core-card-headers h3{color:var(--selected-colour-ink)}
.aps-core-card.aps-colour-selected .aps-core-card-headers p{color:var(--selected-colour-muted)}
.aps-core-card.aps-colour-selected .aps-core-badge-num{background:rgba(255,255,255,.9);color:#175fe6}
.aps-core-card.aps-colour-selected .aps-colour-dot-wrap{background:rgba(255,255,255,.88);border-color:rgba(15,23,42,.18)}
.aps-core-card.aps-colour-selected .aps-colour-dot{border:1px solid rgba(15,23,42,.18);box-shadow:0 2px 8px rgba(15,23,42,.18)}
.cms-page .aps-profile-panel{position:relative;overflow:visible!important;transition:transform .25s ease,box-shadow .25s ease}
.cms-page .aps-profile-panel[aria-checked="true"]{z-index:3;transform:translateY(-4px);box-shadow:0 20px 45px rgba(15,23,42,.18)}
.cms-page .aps-profile-panel[aria-checked="true"] .aps-profile-img-wrap{width:180px!important;height:135px!important;min-width:180px!important}
.cms-page .aps-profile-panel[aria-checked="true"] .aps-profile-img-wrap img{width:100%!important;height:100%!important;object-fit:contain!important;transform:scale(1.08)}
.aps-profile-cancel{display:block;margin:14px 0 0 auto;border:1px solid #ef4444;border-radius:999px;background:#fff;color:#b91c1c;padding:9px 14px;font:700 11px/1 Inter,Arial,sans-serif;cursor:pointer;box-shadow:0 4px 15px rgba(15,23,42,.12)}
.aps-profile-cancel[hidden]{display:none!important}
.aps-profile-cancel:hover{background:#fff1f2}
.rdx-scroll-reveal{opacity:0;transform:translateX(-48px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1);will-change:opacity,transform}
.rdx-scroll-reveal.rdx-reveal-right{transform:translateX(48px)}
.rdx-scroll-reveal.rdx-reveal-visible{opacity:1;transform:translateX(0)}
.cms-page[data-page="gallery"] .gallery-card img{cursor:zoom-in}
.lightbox-open{overflow:hidden}
.rdx-lightbox{position:fixed;inset:0;z-index:10000;background:rgba(2,8,23,.94);display:grid;place-items:center;padding:70px 24px 32px}
.rdx-lightbox[hidden]{display:none}
.rdx-lightbox img{max-width:min(1200px,94vw);max-height:78vh;object-fit:contain;border-radius:12px;box-shadow:0 30px 90px rgba(0,0,0,.5)}
.rdx-lightbox p{margin:16px 0 0;color:#fff;font:600 15px/1.5 Inter,Arial,sans-serif;text-align:center}
.rdx-lightbox-close{position:absolute;top:20px;right:24px;width:46px;height:46px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:32px;line-height:1;cursor:pointer}
@media(max-width:767px){
  .cms-page[data-page="about-us"] .rdx-hero{display:flex!important;flex-direction:column!important;min-height:0!important;background-image:none!important;overflow:visible!important}
  .cms-page[data-page="about-us"] .rdx-hero-image-mobile{display:block!important;width:100%!important;height:clamp(340px,72vh,540px)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
  .cms-page[data-page="about-us"] .rdx-hero .rdx-container{display:block!important;position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;padding:30px 20px!important;background:#fff!important;z-index:4!important}
  .cms-page[data-page="about-us"] .rdx-content{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;max-width:100%!important;margin:0 auto!important;color:#111827!important}
  .cms-page[data-page="about-us"] .rdx-content h1,.cms-page[data-page="about-us"] .rdx-content h2,.cms-page[data-page="about-us"] .rdx-content p{color:#111827!important;opacity:1!important}
  .cms-page .aps-profile-panel[aria-checked="true"] .aps-profile-img-wrap{width:145px!important;height:110px!important;min-width:145px!important}
  .aps-profile-cancel{margin:10px auto 0;width:max-content}
  .rdx-scroll-reveal{transform:translateX(-24px)}
  .rdx-scroll-reveal.rdx-reveal-right{transform:translateX(24px)}
  .rdx-scroll-reveal.rdx-reveal-visible,.rdx-scroll-reveal.rdx-reveal-visible.rdx-reveal-right{transform:translateX(0)}
}
@media(prefers-reduced-motion:reduce){.rdx-scroll-reveal{opacity:1!important;transform:none!important;transition:none!important}}
.rdx-product-carousel{position:relative;overflow:hidden!important;padding-bottom:74px!important}
.rdx-product-carousel>.e-con-inner,.rdx-product-track{display:flex!important;flex-wrap:nowrap!important;gap:0!important;overflow:visible!important;transition:transform .65s cubic-bezier(.22,.75,.25,1);will-change:transform}
.rdx-product-slide{flex:0 0 100%!important;width:100%!important;max-width:100%!important;min-width:100%!important;padding-inline:clamp(8px,3vw,32px)!important}
.rdx-product-slide img,.aps-profile-panel img{cursor:zoom-in}
.rdx-carousel-controls{position:absolute;left:50%;bottom:18px;z-index:8;transform:translateX(-50%);display:flex;align-items:center;gap:14px;padding:7px 10px;border:1px solid rgba(15,23,42,.1);border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(15,23,42,.14)}
.rdx-carousel-arrow{width:40px;height:40px;border:0;border-radius:50%;background:#0b5cff;color:#fff;font-size:29px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:transform .2s ease,background .2s ease}
.rdx-carousel-arrow:hover{background:#0849cc;transform:scale(1.06)}
.rdx-carousel-dots{display:flex;align-items:center;gap:7px}
.rdx-carousel-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#cbd5e1;cursor:pointer;transition:width .2s ease,background .2s ease}
.rdx-carousel-dot.active{width:25px;border-radius:999px;background:#0b5cff}
@media(max-width:767px){.rdx-product-carousel{padding-bottom:68px!important}.rdx-product-slide{padding-inline:4px!important}.rdx-carousel-arrow{width:36px;height:36px;font-size:25px}.rdx-carousel-controls{bottom:14px}}
@media(prefers-reduced-motion:reduce){.rdx-product-track{transition:none!important}}

/* Shared floating controls: isolate them from imported WordPress button styles. */
.rdx-carousel-arrow{
  appearance:none!important;
  flex:0 0 40px;
  width:40px!important;
  height:40px!important;
  min-width:40px;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#0b5cff!important;
  color:#fff!important;
  line-height:1!important;
  display:grid!important;
  place-items:center;
}
.rdx-carousel-arrow svg,.scroll-top svg,.rdx-lightbox-close svg,#aps-lightbox-close svg{
  display:block;
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.25;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.rdx-carousel-arrow:hover{background:#0849cc!important}
.scroll-top{
  appearance:none!important;
  position:fixed!important;
  right:22px!important;
  bottom:calc(22px + env(safe-area-inset-bottom,0px))!important;
  display:grid!important;
  place-items:center;
  width:44px!important;
  height:44px!important;
  min-width:44px;
  padding:0!important;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:50%!important;
  background:#0b1b35!important;
  color:#fff!important;
  line-height:1!important;
  z-index:1100;
}
.scroll-top:hover{background:#1265f3!important}
.rdx-lightbox-close,#aps-lightbox-close{
  appearance:none!important;
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:50%!important;
  background:#0b1b35!important;
  color:#fff!important;
  font-size:0!important;
  line-height:1!important;
  overflow:hidden!important;
}
.rdx-lightbox-close:hover,#aps-lightbox-close:hover{background:#1265f3!important}
.rdx-lightbox-close svg,#aps-lightbox-close svg{width:20px!important;height:20px!important}
@media(max-width:767px){
  .rdx-carousel-arrow{flex-basis:36px;width:36px!important;height:36px!important;min-width:36px}
  .rdx-carousel-arrow svg{width:17px;height:17px}
  .rdx-lightbox-close,#aps-lightbox-close{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}
  .rdx-lightbox-close svg,#aps-lightbox-close svg{width:18px!important;height:18px!important}
}
@media(max-width:480px){
  .scroll-top{right:14px!important;bottom:calc(14px + env(safe-area-inset-bottom,0px))!important}
}

/* Homepage mobile hero typography matched to the approved phone reference. */
@media(max-width:768px){
  .cms-page[data-page="home"] .rbx-container{
    padding:48px 20px 30px!important;
    align-items:flex-start!important;
  }
  .cms-page[data-page="home"] .rbx-content{
    width:100%!important;
    max-width:100%!important;
  }
  .cms-page[data-page="home"] .rbx-subtitle{
    max-width:none!important;
    margin:0 0 16px!important;
    color:#2f6bff!important;
    font-size:clamp(10px,2.75vw,12px)!important;
    line-height:1.25!important;
    font-weight:800!important;
    letter-spacing:1.35px!important;
    text-transform:uppercase!important;
    white-space:normal!important;
  }
  .cms-page[data-page="home"] .rbx-title{
    width:100%!important;
    max-width:350px!important;
    margin:0 0 20px!important;
    color:#fff!important;
    font-size:clamp(40px,11.3vw,46px)!important;
    line-height:.98!important;
    font-weight:900!important;
    letter-spacing:-1.7px!important;
    text-transform:uppercase!important;
    text-wrap:balance;
  }
  .cms-page[data-page="home"] .rbx-title span{
    display:block!important;
    color:#2f6bff!important;
    font-size:.82em!important;
    letter-spacing:-1.1px!important;
    white-space:nowrap!important;
  }
  .cms-page[data-page="home"] .rbx-desc{
    max-width:245px!important;
    margin:0 0 28px!important;
    color:#9aa4b5!important;
    font-size:clamp(15px,4vw,17px)!important;
    line-height:1.55!important;
    font-weight:400!important;
  }
  .cms-page[data-page="home"] .rbx-buttons{
    width:min(100%,386px)!important;
    gap:12px!important;
  }
  .cms-page[data-page="home"] .rbx-btn{
    display:grid!important;
    grid-template-columns:28px 1fr 22px!important;
    align-items:center!important;
    gap:14px!important;
    width:100%!important;
    min-height:72px!important;
    margin-top:0!important;
    padding:16px 20px!important;
    border-radius:8px!important;
    text-align:left!important;
  }
  .cms-page[data-page="home"] .rbx-btn-icon,
  .cms-page[data-page="home"] .rbx-btn-arrow{
    display:grid!important;
    place-items:center!important;
    color:currentColor!important;
  }
  .cms-page[data-page="home"] .rbx-btn-icon svg{
    width:27px;
    height:27px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .cms-page[data-page="home"] .rbx-btn-arrow svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .cms-page[data-page="home"] .rbx-btn-label{
    font-size:15px!important;
    font-weight:800!important;
    letter-spacing:.45px!important;
    white-space:nowrap!important;
  }
  .cms-page[data-page="home"] .rbx-hero::before{
    background-position:74% bottom!important;
  }
}
@media(max-width:350px){
  .cms-page[data-page="home"] .rbx-container{padding-inline:16px!important}
  .cms-page[data-page="home"] .rbx-subtitle{font-size:9px!important;letter-spacing:1px!important}
  .cms-page[data-page="home"] .rbx-title{font-size:37px!important;letter-spacing:-1.4px!important}
  .cms-page[data-page="home"] .rbx-desc{font-size:14px!important}
}

.rdx-validation-message{
  margin:0 0 16px!important;
  padding:15px 18px!important;
  border:1px solid #fca5a5!important;
  border-radius:10px!important;
  background:#fff1f2!important;
  color:#9f1239!important;
  font:700 14px/1.45 Inter,Arial,sans-serif!important;
  box-shadow:0 8px 24px rgba(159,18,57,.1)!important;
}
.rdx-validation-error{
  position:relative;
  border-color:#ef4444!important;
  outline:3px solid rgba(239,68,68,.18)!important;
  outline-offset:3px!important;
  animation:rdx-validation-pulse .8s ease 2;
}
@keyframes rdx-validation-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.24)}
  50%{box-shadow:0 0 0 8px rgba(239,68,68,0)}
}
@media(prefers-reduced-motion:reduce){.rdx-validation-error{animation:none}}

.cms-page[data-page="gallery"] .gallery-info{display:none!important}
.cms-page[data-page="gallery"] .gallery-card::after{display:none!important;content:none!important}
