
/* extracted from order.html: order-payment-method-visual-v1 */
.order-payment-method{
  display:grid;
  gap:12px;
}

.order-payment-title{
  font-size:13px;
  font-weight:850;
  color:#17243a;
}

.order-payment-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.order-payment-option{
  display:flex !important;
  align-items:flex-start;
  gap:10px !important;
  padding:14px !important;
  border:1px solid rgba(18,32,51,.12);
  border-radius:18px;
  background:#fff;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.order-payment-option:hover{
  transform:translateY(-1px);
  border-color:rgba(27,95,143,.34);
  box-shadow:0 14px 28px rgba(18,32,51,.07);
}

.order-payment-option input{
  width:16px !important;
  height:16px !important;
  margin-top:3px;
  accent-color:#1557b7;
  flex:0 0 auto;
}

.order-payment-option strong{
  display:block;
  color:#102037;
  font-size:14px;
  line-height:1.2;
}

.order-payment-option small{
  display:block;
  margin-top:5px;
  color:#667085;
  font-size:12px;
  line-height:1.35;
  font-weight:650;
}

@media(max-width:900px){
  .order-payment-grid{
    grid-template-columns:1fr;
  }
}

/* extracted from order.html: order-final-clean-v1 */
/* VILIANTE ORDER FINAL CLEAN — one source of truth */

.order-page.order-checkout-page{
  padding:118px 18px 82px !important;
  background:
    radial-gradient(circle at 14% 18%, rgba(154,197,255,.30), transparent 32%),
    radial-gradient(circle at 72% 10%, rgba(255,221,168,.32), transparent 30%),
    radial-gradient(circle at 35% 78%, rgba(196,232,219,.20), transparent 34%),
    linear-gradient(180deg,#fff8ee 0%,#ffffff 46%,#f6efe6 100%) !important;
}

.order-checkout-split{
  max-width:1240px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(520px,1fr) minmax(560px,.96fr) !important;
  gap:44px !important;
  align-items:start !important;
}

.order-checkout-left{
  position:sticky !important;
  top:112px !important;
  min-height:720px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  padding:34px 0 0 !important;
}

.order-checkout-left::before{
  content:"" !important;
  position:absolute !important;
  inset:120px 30px auto -40px !important;
  height:360px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg, rgba(255,255,255,.38), rgba(255,255,255,.08)) !important;
  filter:blur(2px) !important;
  z-index:-1 !important;
}

.order-checkout-left .order-kicker{
  margin:0 0 22px 4px !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:#1b5f8f !important;
}

.order-split-image-wrap{
  width:100% !important;
  min-height:540px !important;
  margin:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
}

.order-split-image-wrap img{
  width:min(700px,116%) !important;
  max-height:610px !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 38px 58px rgba(16,35,63,.16)) !important;
}

.order-split-points{
  max-width:620px !important;
  margin:18px auto 0 !important;
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:12px !important;
}

.order-split-points div{
  min-height:90px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:14px 12px !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.76) !important;
  border:1px solid rgba(16,35,63,.10) !important;
  box-shadow:0 18px 44px rgba(16,35,63,.07) !important;
  backdrop-filter:blur(16px) !important;
}

.order-split-points strong{
  width:38px !important;
  height:38px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  margin:0 0 8px !important;
  background:rgba(21,87,183,.10) !important;
  color:#1557b7 !important;
  font-size:16px !important;
  font-weight:950 !important;
  line-height:1 !important;
}

.order-split-points span{
  color:#102037 !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
}

.order-form-card{
  padding:34px 38px !important;
  border-radius:30px !important;
  background:rgba(255,255,255,.90) !important;
  border:1px solid rgba(16,35,63,.09) !important;
  box-shadow:0 28px 80px rgba(16,35,63,.11) !important;
}

.order-form-card h1,
.order-form-card h2{
  margin:0 0 8px !important;
  font-size:clamp(34px,3.2vw,50px) !important;
  line-height:1 !important;
  letter-spacing:-.055em !important;
  color:#102037 !important;
}

.order-form-card .form-sub,
.order-form-card > p,
.order-sub{
  margin:0 0 24px !important;
  color:#24364f !important;
  line-height:1.55 !important;
  font-size:18px !important;
}

.viliante-order-form{
  display:grid !important;
  gap:14px !important;
  margin-top:26px !important;
  padding:34px 34px !important;
  border-radius:30px !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(16,35,63,.12) !important;
  box-shadow:none !important;
}

.order-field-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
}

.viliante-order-form label,
.viliante-order-form .form-field{
  display:grid !important;
  gap:8px !important;
  font-size:13px !important;
  font-weight:850 !important;
  color:#17243a !important;
}

body.is-known-how-heard-customer [data-how-heard-wrapper],
.viliante-order-form.is-known-how-heard-customer [data-how-heard-wrapper],
[data-how-heard-wrapper][data-how-heard-known="true"]{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

.viliante-order-form input,
.viliante-order-form select,
.viliante-order-form textarea{
  width:100% !important;
  min-height:56px !important;
  border:1px solid rgba(18,32,51,.14) !important;
  border-radius:17px !important;
  padding:14px 15px !important;
  background:#fff !important;
  color:#102037 !important;
  font:inherit !important;
  outline:none !important;
  box-shadow:none !important;
}

.viliante-order-form textarea{
  min-height:92px !important;
  resize:vertical !important;
}

.viliante-order-form input:focus,
.viliante-order-form select:focus,
.viliante-order-form textarea:focus{
  border-color:rgba(27,95,143,.55) !important;
  box-shadow:0 0 0 4px rgba(27,95,143,.10) !important;
}

.order-phone-wrap{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  min-height:56px !important;
  border:1px solid rgba(18,32,51,.14) !important;
  border-radius:17px !important;
  background:#fff !important;
  overflow:hidden !important;
  box-shadow:none !important;
}

.order-phone-prefix{
  width:58px !important;
  min-width:58px !important;
  height:44px !important;
  margin-left:8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:rgba(21,87,183,.10) !important;
  color:#1557b7 !important;
  font-weight:800 !important;
  font-size:16px !important;
  border:0 !important;
  position:relative !important;
  z-index:2 !important;
}

.order-phone-wrap input,
.order-phone-wrap input:focus,
.order-phone-wrap input:focus-visible,
.order-phone-wrap input:active{
  flex:1 !important;
  min-width:0 !important;
  height:56px !important;
  min-height:56px !important;
  padding:0 16px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
  color:#102037 !important;
  font-size:16px !important;
  font-weight:700 !important;
}

.order-phone-wrap:focus-within{
  border-color:rgba(21,87,183,.42) !important;
  box-shadow:0 0 0 4px rgba(21,87,183,.08) !important;
}

.order-payment-methods{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}

.order-payment-option{
  min-height:98px !important;
}

.order-consent{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:11px !important;
  padding:16px 18px !important;
  border-radius:22px !important;
  background:#fff !important;
  border:1px solid rgba(18,32,51,.10) !important;
  color:#667085 !important;
  line-height:1.45 !important;
}

.order-consent input[type="checkbox"]{
  appearance:auto !important;
  -webkit-appearance:checkbox !important;
  flex:0 0 18px !important;
  width:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  height:18px !important;
  min-height:18px !important;
  max-height:18px !important;
  margin:2px 0 0 0 !important;
  padding:0 !important;
  border-radius:3px !important;
  box-shadow:none !important;
  background:initial !important;
}

.order-consent span{
  flex:1 1 auto !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  color:#34435a !important;
}

.order-submit{
  width:100% !important;
  min-height:62px !important;
  height:62px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  padding:0 28px !important;
  border:0 !important;
  background:linear-gradient(135deg,#1557b7 0%,#0f4695 100%) !important;
  color:#ffffff !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:-.02em !important;
  text-align:center !important;
  box-shadow:0 18px 42px rgba(21,87,183,.22) !important;
  cursor:pointer !important;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

.order-submit:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 22px 48px rgba(21,87,183,.28) !important;
  filter:saturate(1.04) !important;
}

.order-submit:active{
  transform:translateY(0) scale(.99) !important;
  box-shadow:0 14px 30px rgba(21,87,183,.20) !important;
}

.order-submit:focus,
.order-submit:focus-visible{
  outline:none !important;
  box-shadow:
    0 0 0 4px rgba(21,87,183,.13),
    0 18px 42px rgba(21,87,183,.22) !important;
}

.viliante-order-form .order-dynamic-business-field.is-hidden{
  display:none !important;
}

@media(max-width:900px){
  .order-page.order-checkout-page{
    padding:96px 16px 64px !important;
  }

  .order-checkout-split{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .order-checkout-left{
    position:relative !important;
    top:auto !important;
    min-height:auto !important;
    padding:0 !important;
  }

  .order-split-image-wrap{
    min-height:250px !important;
    align-items:center !important;
  }

  .order-split-image-wrap img{
    width:min(440px,116%) !important;
    max-height:340px !important;
  }

  .order-split-points{
    grid-template-columns:1fr !important;
    max-width:100% !important;
    margin-top:12px !important;
  }

  .order-split-points div{
    min-height:72px !important;
    flex-direction:row !important;
    justify-content:flex-start !important;
    text-align:left !important;
  }

  .order-split-points strong{
    margin:0 10px 0 0 !important;
  }

  .order-form-card{
    padding:26px !important;
    border-radius:28px !important;
  }

  .viliante-order-form{
    padding:26px !important;
    border-radius:28px !important;
  }

  .order-field-grid{
    grid-template-columns:1fr !important;
  }
}



/* extracted from order.html: order-payment-radio-clean-v1 */
.order-payment-option input[type="radio"]{
  appearance:auto !important;
  -webkit-appearance:radio !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  max-width:18px !important;
  max-height:18px !important;
  padding:0 !important;
  margin:3px 0 0 0 !important;
  border:0 !important;
  border-radius:999px !important;
  box-shadow:none !important;
  background:transparent !important;
  flex:0 0 18px !important;
  accent-color:#1557b7 !important;
}

.order-payment-option input[type="radio"]::before,
.order-payment-option input[type="radio"]::after{
  display:none !important;
  content:none !important;
}



/* extracted from order.html: order-consent-structure-final-v2 */
.order-consent{
  display:grid !important;
  grid-template-columns:18px 1fr !important;
  align-items:start !important;
  column-gap:11px !important;
}

.order-consent input[type="checkbox"]{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  margin:2px 0 0 0 !important;
  padding:0 !important;
}

.order-consent span{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}



/* extracted from order.html: order-submit-text-size-match-sample-final-v1 */
.order-submit{
  font-size:15px !important;
  font-weight:850 !important;
  letter-spacing:-.02em !important;
}



/* extracted from order.html: order-mobile-compact-layout-final-v1 */
@media(max-width:900px){

  .order-page.order-checkout-page{
    padding:92px 12px 44px !important;
  }

  .order-checkout-split{
    gap:14px !important;
  }

  .order-checkout-left{
    padding:0 !important;
  }

  .order-checkout-left .order-kicker{
    margin:0 0 8px !important;
    font-size:11px !important;
  }

  .order-split-image-wrap{
    min-height:220px !important;
  }

  .order-split-image-wrap img{
    width:min(330px,100%) !important;
    max-height:230px !important;
  }

  .order-split-points{
    grid-template-columns:repeat(3,1fr) !important;
    gap:8px !important;
    margin-top:8px !important;
  }

  .order-split-points div{
    min-height:64px !important;
    flex-direction:column !important;
    text-align:center !important;
    justify-content:center !important;
    padding:9px 6px !important;
    border-radius:18px !important;
  }

  .order-split-points strong{
    width:26px !important;
    height:26px !important;
    font-size:13px !important;
    margin:0 0 5px !important;
  }

  .order-split-points span{
    font-size:11px !important;
    line-height:1.15 !important;
  }

  .order-form-card{
    padding:20px !important;
    border-radius:24px !important;
  }

  .order-form-card h1{
    font-size:34px !important;
    letter-spacing:-.045em !important;
  }

  .order-form-card .form-sub{
    font-size:15px !important;
    margin-bottom:14px !important;
  }

  .viliante-order-form{
    margin-top:14px !important;
    padding:18px !important;
    border-radius:22px !important;
    gap:11px !important;
  }

  .order-field-grid{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }

  .viliante-order-form label,
  .viliante-order-form .form-field{
    gap:6px !important;
    font-size:11.5px !important;
  }

  .viliante-order-form input,
  .viliante-order-form select,
  .viliante-order-form textarea{
    min-height:48px !important;
    border-radius:14px !important;
    padding:10px 11px !important;
    font-size:14px !important;
  }

  .order-phone-wrap{
    min-height:48px !important;
    border-radius:14px !important;
  }

  .order-phone-prefix{
    width:44px !important;
    min-width:44px !important;
    height:34px !important;
    margin-left:6px !important;
    font-size:13px !important;
  }

  .order-phone-wrap input{
    height:48px !important;
    min-height:48px !important;
    padding:0 10px !important;
    font-size:14px !important;
  }

  .order-payment-option{
    min-height:72px !important;
    padding:12px !important;
  }

  .order-payment-option strong{
    font-size:14px !important;
  }

  .order-payment-option small{
    font-size:11px !important;
  }

  .order-consent{
    padding:12px 14px !important;
    border-radius:18px !important;
  }

  .order-consent span{
    font-size:12.5px !important;
    line-height:1.25 !important;
  }

  .order-submit{
    height:54px !important;
    min-height:54px !important;
    font-size:14px !important;
  }

  .order-message{
    font-size:12px !important;
  }
}



/* extracted from order.html: order-mobile-hero-redesign-clean-v1 */
.order-mobile-product-summary{
  display:none;
}

@media(max-width:900px){
  .order-checkout-left{
    padding:4px 0 10px !important;
  }

  .order-checkout-left .order-kicker{
    text-align:center !important;
    margin:0 0 10px !important;
    font-size:11px !important;
    letter-spacing:.22em !important;
  }

  .order-split-image-wrap{
    min-height:220px !important;
    margin:0 auto !important;
    align-items:center !important;
  }

  .order-split-image-wrap img{
    width:min(330px,86vw) !important;
    max-height:235px !important;
    filter:drop-shadow(0 24px 34px rgba(16,35,63,.16)) !important;
  }

  .order-split-points{
    display:none !important;
  }

  .order-mobile-product-summary{
    display:block !important;
    max-width:360px !important;
    margin:8px auto 0 !important;
    padding:18px 18px 16px !important;
    text-align:center !important;
    border-radius:24px !important;
    background:rgba(255,255,255,.78) !important;
    border:1px solid rgba(16,35,63,.09) !important;
    box-shadow:0 18px 46px rgba(16,35,63,.08) !important;
    backdrop-filter:blur(16px) !important;
    -webkit-backdrop-filter:blur(16px) !important;
  }

  .order-mobile-product-summary strong{
    display:block !important;
    color:#102037 !important;
    font-size:21px !important;
    line-height:1.05 !important;
    font-weight:900 !important;
    letter-spacing:-.04em !important;
    margin:0 0 8px !important;
  }

  .order-mobile-product-summary p{
    margin:0 auto 12px !important;
    max-width:300px !important;
    color:#526071 !important;
    font-size:13.5px !important;
    line-height:1.42 !important;
    font-weight:650 !important;
  }

  .order-mobile-product-summary ul{
    list-style:none !important;
    display:flex !important;
    justify-content:center !important;
    gap:8px !important;
    flex-wrap:wrap !important;
    margin:0 0 14px !important;
    padding:0 !important;
  }

  .order-mobile-product-summary li{
    display:inline-flex !important;
    align-items:center !important;
    gap:5px !important;
    padding:7px 10px !important;
    border-radius:999px !important;
    background:rgba(21,87,183,.08) !important;
    color:#1557b7 !important;
    font-size:11.5px !important;
    font-weight:800 !important;
    line-height:1 !important;
  }

  .order-mobile-product-summary li::before{
    content:"✓" !important;
    font-weight:900 !important;
  }

  .order-mobile-product-summary > span{
    display:inline-flex !important;
    color:#102037 !important;
    font-size:12px !important;
    font-weight:850 !important;
    letter-spacing:-.01em !important;
    opacity:.72 !important;
  }
}



/* extracted from order.html: order-mobile-top-gap-fix-final-v1 */
@media(max-width:900px){
  .order-page.order-checkout-page{
    padding-top:76px !important;
  }

  .order-checkout-left{
    margin-top:0 !important;
    padding-top:12px !important;
    min-height:360px !important;
  }

  .order-checkout-left .order-kicker{
    margin-top:6px !important;
    margin-bottom:8px !important;
  }

  .order-split-image-wrap{
    min-height:340px !important;
  }

  .order-split-image-wrap img{
    width:min(410px,92vw) !important;
    max-height:300px !important;
  }
}



/* extracted from order.html: order-mobile-top-final-compress-v4 */
@media(max-width:900px){
  .order-page.order-checkout-page{
    padding-top:0 !important;
  }

  .order-checkout-left{
    margin:0 -12px 0 !important;
    padding:16px 0 18px !important;
    min-height:auto !important;
  }

  .order-checkout-left .order-kicker{
    margin:4px 0 10px !important;
  }

  .order-split-image-wrap{
    min-height:285px !important;
  }

  .order-split-image-wrap img{
    width:min(410px,92vw) !important;
    max-height:305px !important;
  }
}



/* extracted from order.html: order-mobile-phone-focus-size-fix-v1 */
@media(max-width:900px){
  .order-phone-wrap,
  .order-phone-wrap:focus-within{
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    border-radius:14px !important;
    overflow:hidden !important;
  }

  .order-phone-prefix{
    width:44px !important;
    min-width:44px !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    margin-left:6px !important;
    font-size:13px !important;
    flex:0 0 44px !important;
  }

  .order-phone-wrap input,
  .order-phone-wrap input:focus,
  .order-phone-wrap input:focus-visible,
  .order-phone-wrap input:active{
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    font-size:14px !important;
    line-height:48px !important;
    padding:0 8px !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }
}



/* extracted from order.html: order-mobile-hero-no-badges-final-v1 */
@media(max-width:900px){

  .order-mobile-product-summary,
  .order-split-points{
    display:none !important;
  }

  .order-checkout-left{
    padding:18px 0 22px !important;
    margin:0 -12px 0 !important;
    min-height:auto !important;
  }

  .order-checkout-left .order-kicker{
    margin:12px 0 14px !important;
    text-align:center !important;
    font-size:11px !important;
    letter-spacing:.24em !important;
  }

  .order-split-image-wrap{
    min-height:360px !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .order-split-image-wrap img{
    width:min(440px,94vw) !important;
    max-height:380px !important;
    filter:drop-shadow(0 36px 52px rgba(16,35,63,.20)) !important;
  }

  .order-form-card{
    margin-top:0 !important;
  }
}



/* extracted from order.html: order-mobile-form-compact-final-v1 */
@media(max-width:900px){
  .order-form-card{
    padding:20px 18px !important;
    border-radius:26px !important;
  }

  .order-form-card h2,
  .order-form-card h1{
    font-size:38px !important;
    line-height:1.02 !important;
    margin-bottom:8px !important;
  }

  .order-form-card .form-sub{
    font-size:15px !important;
    line-height:1.4 !important;
    margin-bottom:12px !important;
  }

  .viliante-order-form{
    padding:18px !important;
    gap:10px !important;
    border-radius:22px !important;
  }

  .order-field-grid{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }

  .viliante-order-form label{
    font-size:11.5px !important;
    gap:5px !important;
  }

  .viliante-order-form input,
  .viliante-order-form select,
  .viliante-order-form textarea{
    min-height:46px !important;
    border-radius:14px !important;
    padding:9px 11px !important;
    font-size:14px !important;
  }

  .viliante-order-form textarea{
    min-height:70px !important;
  }

  .order-payment-grid{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }

  .order-payment-option{
    min-height:68px !important;
    padding:10px !important;
  }

  .order-payment-option strong{
    font-size:13px !important;
  }

  .order-payment-option small{
    display:none !important;
  }

  .order-consent span{
    font-size:12.5px !important;
  }

  .order-submit{
    height:52px !important;
    min-height:52px !important;
    font-size:14px !important;
  }
}

/* paypal-phase1-integration-v1 */
/* VILIANTE ORDER PAYMENT CARD + PAYPAL CLEAN UI v4 */
.order-payment-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
}

.order-payment-option:has(input[value="PAYPAL"]){
  display:flex !important;
}

.order-payment-option{
  position:relative !important;
  min-height:146px !important;
  padding:22px 20px 20px !important;
  border-radius:24px !important;
  align-items:flex-start !important;
  justify-content:flex-end !important;
  flex-direction:column !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 82% 18%, rgba(37,99,235,.08), transparent 34%),
    rgba(255,255,255,.94) !important;
}

.order-payment-option input[type="radio"]{
  position:absolute !important;
  left:18px !important;
  top:18px !important;
  z-index:3 !important;
}

.order-payment-option span{
  position:relative !important;
  z-index:2 !important;
  display:block !important;
  padding-top:54px !important;
}

.order-payment-option strong{
  display:block !important;
  font-size:17px !important;
  line-height:1.15 !important;
  letter-spacing:-.035em !important;
  color:#08172d !important;
}

.order-payment-option small{
  display:block !important;
  margin-top:8px !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  color:#607086 !important;
  font-weight:750 !important;
}

.order-payment-card-option span::before,
.order-payment-wallet-option span::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:64px !important;
  height:42px !important;
  border-radius:14px !important;
  display:block !important;
}

.order-payment-card-option span::before{
  background:
    linear-gradient(135deg,#0d203b,#1b5f8f) !important;
  box-shadow:0 12px 24px rgba(16,35,63,.18) !important;
}

.order-payment-card-option span::after{
  content:"CARD" !important;
  position:absolute !important;
  left:14px !important;
  top:13px !important;
  font-size:11px !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
  color:#fff !important;
}

.order-payment-wallet-option span::before{
  background:
    linear-gradient(135deg,#eef6ff,#ffffff) !important;
  border:1px solid rgba(29,78,216,.16) !important;
  box-shadow:0 12px 24px rgba(16,35,63,.10) !important;
}

.order-payment-wallet-option span::after{
  content:"PayPal" !important;
  position:absolute !important;
  left:11px !important;
  top:11px !important;
  font-size:14px !important;
  font-weight:950 !important;
  letter-spacing:-.05em !important;
  color:#003087 !important;
}

.order-payment-option:has(input:checked){
  border-color:#1262d6 !important;
  box-shadow:
    0 18px 42px rgba(18,98,214,.10),
    inset 0 0 0 1px rgba(18,98,214,.52) !important;
}

@media(max-width:720px){
  .order-payment-grid{
    grid-template-columns:1fr !important;
  }

  .order-payment-option{
    min-height:118px !important;
  }

  .order-payment-option span{
    padding-top:46px !important;
  }
}


/* VILIANTE ORDER PAYMENT ICON IMAGE CLEAN v5 */
.order-payment-option{
  min-height:176px !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:24px 18px !important;
}

.order-payment-option span{
  padding-top:82px !important;
  width:100% !important;
}

.order-payment-card-option span::before,
.order-payment-wallet-option span::before{
  left:50% !important;
  top:0 !important;
  transform:translateX(-50%) !important;
  width:96px !important;
  height:66px !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  background-color:transparent !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
}

.order-payment-card-option span::before{
  background-image:url("/assets/payment-card.svg") !important;
  background-color:transparent !important;
}

.order-payment-wallet-option span::before{
  background-image:url("/assets/payment-paypal.svg") !important;
  background-color:transparent !important;
}

.order-payment-card-option span::after,
.order-payment-wallet-option span::after{
  content:none !important;
  display:none !important;
}

.order-payment-option strong{
  font-size:18px !important;
  line-height:1.15 !important;
}

.order-payment-option small{
  font-size:14px !important;
  line-height:1.35 !important;
}

@media(max-width:720px){
  .order-payment-option{
    min-height:150px !important;
  }

  .order-payment-option span{
    padding-top:72px !important;
  }

  .order-payment-card-option span::before,
  .order-payment-wallet-option span::before{
    width:86px !important;
    height:58px !important;
  }
}

/* VILIANTE ORDER PAYMENT REAL IMAGE ICONS v6 */
.order-payment-card-option span::before{
  background-image:url("/assets/payment-card.png") !important;
  background-color:transparent !important;
}

.order-payment-wallet-option span::before{
  background-image:url("/assets/payment-paypal.png") !important;
  background-color:transparent !important;
}

.order-payment-card-option span::before,
.order-payment-wallet-option span::before{
  width:118px !important;
  height:78px !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
}

.order-payment-option span{
  padding-top:92px !important;
}

@media(max-width:720px){
  .order-payment-card-option span::before,
  .order-payment-wallet-option span::before{
    width:104px !important;
    height:70px !important;
  }

  .order-payment-option span{
    padding-top:82px !important;
  }
}

/* VILIANTE ORDER PAYPAL IMAGE SIZE UP v7 */
.order-payment-wallet-option span::before{
  width:138px !important;
  height:92px !important;
}

@media(max-width:720px){
  .order-payment-wallet-option span::before{
    width:124px !important;
    height:82px !important;
  }
}

/* VILIANTE ORDER PAYPAL IMAGE SIZE UP v8 */
.order-payment-wallet-option span::before{
  width:170px !important;
  height:112px !important;
}

@media(max-width:720px){
  .order-payment-wallet-option span::before{
    width:150px !important;
    height:98px !important;
  }
}

/* VILIANTE ORDER CARD IMAGE MATCH PAYPAL v9 */
.order-payment-card-option span::before{
  width:150px !important;
  height:100px !important;
}

@media(max-width:720px){
  .order-payment-card-option span::before{
    width:130px !important;
    height:88px !important;
  }
}

/* VILIANTE ORDER CARD IMAGE MATCH PAYPAL v9 */
.order-payment-card-option span::before{
  width:150px !important;
  height:100px !important;
}

@media(max-width:720px){
  .order-payment-card-option span::before{
    width:130px !important;
    height:88px !important;
  }
}

/* VILIANTE ORDER PAYMENT PERFECT POLISH v10 */
.order-payment-option{
  min-height:164px !important;
  padding:22px 18px 18px !important;
}

.order-payment-option span{
  padding-top:78px !important;
}

.order-payment-card-option span::before{
  width:132px !important;
  height:88px !important;
}

.order-payment-wallet-option span::before{
  width:158px !important;
  height:104px !important;
  top:-10px !important;
}

.order-payment-option strong{
  font-size:17px !important;
  line-height:1.12 !important;
}

.order-payment-option small{
  margin-top:7px !important;
  font-size:13.5px !important;
}

@media(max-width:720px){
  .order-payment-option{
    min-height:142px !important;
  }

  .order-payment-option span{
    padding-top:70px !important;
  }

  .order-payment-card-option span::before{
    width:118px !important;
    height:78px !important;
  }

  .order-payment-wallet-option span::before{
    width:140px !important;
    height:92px !important;
    top:-8px !important;
  }
}

/* VILIANTE ORDER PAYMENT FINAL MICRO POLISH v11 */

.order-payment-card-option span::before{
  top:6px !important;
}

.order-payment-wallet-option span::before{
  top:-2px !important;
}

.order-payment-option strong{
  margin-top:4px !important;
}

/* VILIANTE MOBILE ORDER/SAMPLE/REQUEST OVERFLOW GUARD v1 */
@media(max-width:900px){
  html,
  body{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .order-page,
  .sample-page,
  .request-page-clone,
  .order-checkout-page,
  .sample-checkout-page{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .order-checkout-split,
  .sample-checkout-split,
  .request-checkout-split{
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:1fr !important;
    margin-left:0 !important;
    margin-right:0 !important;
    overflow-x:hidden !important;
  }

  .order-checkout-left,
  .sample-checkout-left,
  .request-checkout-left{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    overflow:hidden !important;
  }

  .order-split-image-wrap,
  .sample-image-wrap,
  .request-image-wrap{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:hidden !important;
  }

  .order-split-image-wrap img,
  .sample-image-wrap img,
  .request-image-wrap img{
    width:min(420px,100%) !important;
    max-width:100% !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:block !important;
    transform:none !important;
  }

  .order-mobile-product-summary,
  .sample-mobile-product-summary,
  .request-mobile-product-summary{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  .order-form-card,
  .sample-form-card,
  .request-form-card,
  .sample-card{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  .order-field-grid,
  .sample-form-grid,
  .request-form-grid,
  .sample-address-grid,
  .order-address-grid{
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
  }

  .viliante-order-form,
  .sample-lead-form,
  .request-lead-form,
  .lead-form{
    width:100% !important;
    max-width:100% !important;
  }

  .viliante-order-form label,
  .sample-lead-form label,
  .request-lead-form label,
  .form-field{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .viliante-order-form input,
  .viliante-order-form select,
  .viliante-order-form textarea,
  .sample-lead-form input,
  .sample-lead-form select,
  .sample-lead-form textarea,
  .request-lead-form input,
  .request-lead-form select,
  .request-lead-form textarea{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .order-payment-grid{
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
  }

  .order-payment-option{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
}
/* END VILIANTE MOBILE ORDER/SAMPLE/REQUEST OVERFLOW GUARD v1 */

/* Keep the order card shadow contained above the footer. */
.order-page.order-checkout-page .order-form-card{
  box-shadow:0 14px 38px -24px rgba(16,35,63,.18) !important;
}

/* order-payment-status-warning-v1 */
.order-payment-status-warning{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  width:100%;
  margin:18px 0 16px;
  padding:16px 18px;
  border:1px solid #e7bf64;
  border-radius:8px;
  background:#fff7df;
  color:#163452;
  box-shadow:0 10px 24px -20px rgba(22,52,82,.34);
  box-sizing:border-box;
}

.order-payment-status-warning[hidden]{
  display:none !important;
}

.order-payment-status-warning-content{
  min-width:0;
}

.order-payment-status-warning strong{
  display:block;
  margin:0 0 5px;
  color:#12314f;
  font-size:15px;
  line-height:1.25;
  font-weight:800;
}

.order-payment-status-warning p{
  margin:0;
  color:#29445f;
  font-size:14px;
  line-height:1.5;
}

.order-payment-status-warning-close{
  flex:0 0 auto;
  width:30px;
  height:30px;
  border:1px solid rgba(148,103,18,.2);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#29445f;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}

.order-payment-status-warning-close:hover,
.order-payment-status-warning-close:focus{
  border-color:rgba(148,103,18,.38);
  background:#fff;
  outline:none;
}

@media (max-width: 640px){
  .order-payment-status-warning{
    gap:10px;
    padding:14px;
    margin:16px 0 14px;
  }

  .order-payment-status-warning strong{
    font-size:14px;
  }

  .order-payment-status-warning p{
    font-size:13px;
  }

  .order-payment-status-warning-close{
    width:28px;
    height:28px;
  }
}

/* order-payment-status-warning-visible-fix-v1 */
.order-payment-status-warning.is-visible,
.order-payment-status-warning-visible-fix-v1.is-visible{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
}

.order-form-card > .order-payment-status-warning{
  margin:14px 0 20px;
}

@media (max-width: 640px){
  .order-form-card > .order-payment-status-warning{
    margin:12px 0 18px;
  }
}
