/* InsFollowTR V25 — checkout polish + Shopier bridge */

/* Package cards: preserve the current look while preventing quantity/price collisions. */
.v25-package-options{
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
}
.v25-package-option{min-width:0}
.v25-package-option>span{
  min-width:0;
  min-height:118px;
  padding:15px 12px 13px;
  justify-content:flex-start;
  overflow:hidden;
}
.v25-package-option.is-popular>span{padding-top:31px}
.v25-package-quantity{
  display:flex!important;
  align-items:baseline;
  gap:4px;
  min-width:0;
  margin-top:auto;
  white-space:nowrap;
}
.v25-package-quantity strong{
  display:block;
  min-width:0;
  font:760 clamp(14px,1.15vw,18px)/1.05 Sora!important;
  letter-spacing:-.035em;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v25-package-quantity small{
  display:block;
  flex:none;
  margin:0!important;
  font-size:7px!important;
  line-height:1!important;
}
.v25-package-price{
  display:block!important;
  width:100%;
  margin-top:9px!important;
  font:760 clamp(9.5px,.88vw,12px)/1.15 Sora!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  letter-spacing:-.02em;
}
.v25-package-option .v10-shopier-label{
  display:block;
  margin-top:5px!important;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v25-package-option .v10-order-popular{max-width:calc(100% - 38px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Contact / coupon row */
.v25-contact-coupon{align-items:start}
.v25-contact-coupon label.is-required>span:after{content:' *';color:#db5367}

/* New payment-method chooser */
.v25-payment-method-field{display:grid;gap:9px;margin-top:2px}
.v25-payment-title{display:flex;justify-content:space-between;gap:12px;align-items:end}
.v25-payment-title>div>span,.v25-payment-title>div>small{display:block}
.v25-payment-title>div>span{font-size:9px;font-weight:760;color:#666e7b}
.v25-payment-title>div>small{margin-top:3px;font-size:6.5px;color:#9aa0aa}
.v25-secure-pill{flex:none;padding:6px 8px;border-radius:8px;background:#f1f8f4;color:#3d8062;font-size:6px;font-weight:800}
.v25-payment-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important}
.v25-payment-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.v25-payment-card{
  width:100%;min-width:0;min-height:72px;
  display:grid;grid-template-columns:38px minmax(0,1fr) 22px;gap:9px;align-items:center;
  padding:10px;border:1px solid #e1e4eb;border-radius:14px;background:linear-gradient(145deg,#fff,#fbfbfd);
  text-align:left;cursor:pointer;color:#252a35;transition:.18s ease;
}
.v25-payment-card:hover:not(:disabled){transform:translateY(-1px);border-color:#c4bbee;box-shadow:0 9px 24px rgba(69,53,145,.065)}
.v25-payment-card.is-selected{border-color:#8e7cf0;background:linear-gradient(145deg,#fff,#f6f3ff);box-shadow:0 0 0 3px rgba(110,87,228,.075),0 9px 25px rgba(69,53,145,.055)}
.v25-payment-card.is-disabled{opacity:.48;cursor:not-allowed;filter:saturate(.65)}
.v25-pay-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#f0edff;color:#634dd1;font:850 11px Sora;border:1px solid rgba(100,76,211,.08)}
.v25-shopier-icon{background:linear-gradient(145deg,#1b1d26,#34394a);color:#fff}
.v25-pay-copy{min-width:0;display:block}
.v25-pay-copy small,.v25-pay-copy strong,.v25-pay-copy em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v25-pay-copy small{font-size:6px;color:#949aa5;font-style:normal}
.v25-pay-copy strong{font:740 8.5px/1.3 Sora;margin:2px 0;color:#252a34}
.v25-pay-copy em{font-size:5.6px;color:#8b929e;font-style:normal}
.v25-payment-card>i{width:19px;height:19px;border-radius:7px;display:grid;place-items:center;background:#ece8ff;color:#6550d3;font-size:7px;font-style:normal;opacity:0;transform:scale(.75);transition:.15s}
.v25-payment-card.is-selected>i{opacity:1;transform:scale(1)}
.v25-shopier-help{margin-top:-1px}

/* Keep bank details only on the post-order payment screen. */
.checkout-form .v24-bank-preview{display:none!important}

/* Preselected legal acknowledgements: still visible and can be unticked. */
.v17-checkout-legal input:checked{accent-color:#6550d3}

/* Shopier session panel */
.v25-shopier-panel .v25-shopier-pay{display:flex;align-items:center;justify-content:center;gap:8px}
.v25-shopier-status{margin-top:9px;padding:10px 12px;border-radius:10px;background:#f1f4f8;color:#657080;font-size:7.5px;line-height:1.5}
.v25-shopier-status.error{background:#fff0f2;color:#a33f50;border:1px solid #f6d6dd}
.v25-shopier-loading[hidden],.v25-shopier-modal[hidden]{display:none!important}
.v25-shopier-loading{position:fixed;inset:0;z-index:100010;display:grid;place-items:center;padding:20px;background:rgba(246,247,250,.84);backdrop-filter:blur(14px)}
.v25-shopier-loading-card{width:min(420px,100%);padding:28px;border:1px solid #e1e4ea;border-radius:22px;background:#fff;box-shadow:0 26px 80px rgba(22,26,38,.16);text-align:center}
.v25-shopier-loading-card strong{display:block;font:750 15px Sora;margin:13px 0 7px}.v25-shopier-loading-card p{font-size:8px;line-height:1.6;color:#7c8491;margin:0}
.v25-spinner{width:46px;height:46px;margin:auto;border-radius:50%;display:block;border:4px solid #ececf2;border-top-color:#654fd6;animation:v25Spin .75s linear infinite}@keyframes v25Spin{to{transform:rotate(360deg)}}
.v25-shopier-modal{position:fixed;inset:0;z-index:100020;display:flex;align-items:center;justify-content:center;padding:14px;background:rgba(14,16,23,.74);backdrop-filter:blur(12px);overflow:hidden}
.v25-shopier-shell{position:relative;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 30px 100px rgba(0,0,0,.28);transition:.2s}
.v25-shopier-shell iframe{position:absolute;border:0;background:#fff;display:block}
.v25-shopier-close{position:fixed;right:18px;top:16px;z-index:2;width:38px;height:38px;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:rgba(20,22,30,.8);color:#fff;font-size:21px;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.16)}
.v25-shopier-modal.three-d-active{padding:0;background:#fff;backdrop-filter:none}.v25-shopier-modal.three-d-active .v25-shopier-shell{position:absolute;inset:0;width:100%!important;height:100%!important;border-radius:0;box-shadow:none}.v25-shopier-modal.three-d-active .v25-shopier-close{display:none}.v25-shopier-modal.three-d-active iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important}
body.v25-payment-locked{overflow:hidden!important}

/* Admin worker fields */
.v25-worker-settings{margin-top:18px;padding:14px;border:1px solid #e1e4eb;border-radius:14px;background:#fafbfc}.v25-worker-settings .v12-settings-title{margin-top:0}.v25-worker-toggle{min-height:70px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:10px 12px!important;border:1px solid #e1e4eb!important;border-radius:11px!important;background:#fff!important}.v25-worker-toggle>span:first-child strong,.v25-worker-toggle>span:first-child small{display:block}.v25-worker-toggle>span:first-child strong{font-size:8px}.v25-worker-toggle>span:first-child small{font-size:6px;color:#9097a3;margin-top:3px}.v25-clear-secret{display:flex!important;align-items:center!important;gap:8px!important;margin-top:8px!important}.v25-clear-secret input{width:15px!important;height:15px!important;min-height:0!important}.v25-clear-secret span{font-size:7px!important;color:#9c5963!important}

@media(max-width:1120px){
  .v25-package-options{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v25-payment-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .v25-package-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v25-package-option>span{min-height:112px}
  .v25-payment-cards{grid-template-columns:1fr}
  .v25-payment-card{min-height:66px}
  .v25-payment-title{align-items:start}.v25-secure-pill{display:none}
}
@media(max-width:390px){
  .v25-package-options{grid-template-columns:1fr 1fr!important;gap:7px}
  .v25-package-option>span{padding-left:10px;padding-right:10px}
  .v25-package-quantity strong{font-size:13px!important}.v25-package-price{font-size:9px!important}
}
