/* Keep the chosen text size and pinch zoom. Only crowded controls reflow.
   Default-size layouts retain the original sculpted bar and centred action. */
html body #fincan-store .moka-text-probe {
  position:absolute;
  width:max-content;
  height:auto;
  font:400 1rem/normal var(--font);
  visibility:hidden;
  pointer-events:none;
}

html body #fincan-store .moka-action[data-text-layout=stacked] .moka-action__button {
  height:auto;
  min-height:var(--moka-action-height);
}
html body #fincan-store .moka-action[data-text-layout=stacked] .moka-action__content {
  position:relative;
  inset:auto;
  height:auto;
  min-width:0;
  grid-template-columns:30px minmax(0,1fr) 30px;
  gap:8px 10px;
  padding:10px 14px 25px;
}
html body #fincan-store .moka-action[data-text-layout=stacked] .moka-action__summary {
  grid-column:1/-1;
  flex-direction:row;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items:baseline;
  gap:2px 10px;
  padding:0 36px 6px 0;
  border-right:0;
  border-bottom:1px solid #ffffff26;
}
html body #fincan-store .moka-action[data-text-layout=stacked] :is(.moka-action__eyebrow,.moka-action__amount) {
  max-width:100%;
  margin:0;
  line-height:1.3;
  overflow:visible;
  white-space:normal;
  overflow-wrap:anywhere;
}
html body #fincan-store .moka-action[data-text-layout=stacked] .moka-action__amount {
  font-size:1.1875rem!important;
}
html body #fincan-store .moka-action[data-text-layout=stacked] .moka-action__label {
  grid-column:2;
  position:static;
  inset:auto;
  transform:none;
  width:auto;
  max-width:none;
  line-height:1.25;
  white-space:normal;
  overflow-wrap:anywhere;
  text-align:center;
}
html body #fincan-store .moka-action[data-text-layout=stacked] .moka-action__direction {
  grid-column:3;
  position:static;
  transform:none;
  align-self:center;
}
html body #fincan-store .moka-action[data-text-layout=stacked] .moka-action__summary-toggle {
  left:auto;
  right:12px;
  top:10px;
  width:32px;
  height:32px;
}
html body #fincan-store .moka-action[data-text-layout=stacked]:not([data-has-amount=true]) .moka-action__symbol {
  display:none;
}

html body #fincan-store .moka-dock[data-text-layout=roomy] .moka-dock__link:not(.moka-dock__link--cart) {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  padding:calc(var(--moka-dock-height)/4 + 8px) 2px calc(var(--moka-total-height) + 8px);
}
html body #fincan-store .moka-dock[data-text-layout=roomy] .moka-dock__link:not(.moka-dock__link--cart) .moka-dock__icon-wrap {
  position:relative;
  top:auto;
  left:auto;
  flex:none;
  width:30px;
  height:30px;
  transform:none;
}
html body #fincan-store .moka-dock[data-text-layout=roomy] .moka-dock__label {
  position:static;
  max-width:100%;
  font-size:.6875rem;
  line-height:1.2;
  white-space:normal;
  overflow:visible;
  overflow-wrap:anywhere;
  text-overflow:clip;
  letter-spacing:0;
}
html body #fincan-store .moka-dock[data-text-layout=roomy] .moka-dock__link--cart .moka-dock__label {
  position:absolute;
  top:var(--moka-cart-label-top);
  right:2px;
  left:2px;
  width:auto;
  transform:none;
}
/* The complete cart total gets its own full-width row, not a clipped 1/5 slot. */
html body #fincan-store .moka-dock[data-text-layout=roomy] .moka-dock__total {
  top:auto;
  right:-200%;
  bottom:5px;
  left:-200%;
  font-size:.6875rem;
  line-height:1.2;
  overflow:visible;
  white-space:normal;
  overflow-wrap:anywhere;
}
html body #fincan-store .moka-dock[data-text-layout=roomy] .moka-dock__badge {
  min-width:1.6em;
  height:1.6em;
  line-height:1.2;
}

html body #fincan-store .checkout-steps li {
  min-width:0;
  height:auto;
  line-height:1.3;
  text-align:center;
  overflow-wrap:anywhere;
}
html body #fincan-store .checkout-steps li>span {
  flex:none;
  min-width:1.6em;
  min-height:1.6em;
}
html body #fincan-store .page-title>div {
  min-width:0;
  max-width:100%;
}
html body #fincan-store .page-title :is(h1,p) {
  max-width:100%;
  overflow-wrap:anywhere;
}
html body #fincan-store .page-title p {
  line-height:1.5;
}
html body #fincan-store :is(.receipt-target,.receipt-upload,.receipt-inspection,.receipt-fallback) {
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}

/* Large text must remain usable inside the page, not just inside the dock. */
html body #fincan-store .order-result h1 {
  overflow-wrap:anywhere;
}
html body #fincan-store[data-text-layout=large] :is(.product-grid,.home-collection .product-grid) {
  grid-template-columns:minmax(0,1fr)!important;
}
html body #fincan-store.store-shell[data-text-layout=large][data-route] .product-card.moka-card .moka-card__title .product-name,
html body #fincan-store[data-text-layout=large] .sc-card-title {
  display:block!important;
  height:auto!important;
  max-height:none!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  overflow:visible!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
  line-height:1.4!important;
}
html body #fincan-store[data-text-layout=large] :is(.moka-card__brand,.mpd-title) {
  height:auto!important;
  max-height:none!important;
  -webkit-line-clamp:unset!important;
  overflow:visible!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
  line-height:1.35!important;
}
html body #fincan-store.store-shell[data-text-layout=large] .moka-card .moka-card__title,
html body #fincan-store.store-shell[data-text-layout=large] .moka-card .moka-card__meta,
html body #fincan-store.store-shell[data-text-layout=large] .moka-card .moka-card__subtitle {
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  line-height:1.4!important;
  white-space:normal!important;
}
html body #fincan-store.store-shell[data-text-layout=large] .popular-track .product-card.moka-card {
  flex:0 0 min(82vw,320px)!important;
  width:min(82vw,320px)!important;
}
html body #fincan-store.store-shell[data-text-layout=large][data-route] .moka-card .moka-card__photo>.cover-badge-strip {
  height:auto!important;
  min-height:24px;
  padding:8px!important;
  white-space:normal!important;
  line-height:1.35!important;
}
html body #fincan-store.store-shell[data-text-layout=large] .cover-badge-strip__text {
  overflow-wrap:anywhere;
  line-height:1.35!important;
}
html body #fincan-store.store-shell[data-text-layout=large] .moka-card .moka-card__meta {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:4px 6px!important;
}
html body #fincan-store.store-shell[data-text-layout=large] .moka-card .moka-card__meta>* {
  line-height:1.4!important;
  white-space:normal!important;
}
html body #fincan-store.store-shell[data-text-layout=large] .detail-copy h1 {
  display:block!important;
  max-height:none!important;
  -webkit-line-clamp:unset!important;
  overflow:visible!important;
  line-height:1.3!important;
}
html body #fincan-store.store-shell[data-text-layout=large] :is(.pd-code,.pd-meta) {
  max-width:100%!important;
  flex-wrap:wrap!important;
  overflow:visible!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
  line-height:1.4!important;
}
html body #fincan-store.store-shell[data-text-layout=large] .home-head {
  flex-wrap:wrap;
  gap:8px;
}
html body #fincan-store.store-shell[data-text-layout=large] .home-head>h2 {
  flex-basis:100%;
  min-width:0;
}
html body #fincan-store.store-shell[data-text-layout=large] .browse-tools {
  grid-template-columns:minmax(0,1fr)!important;
}
html body #fincan-store.store-shell[data-text-layout=large] .browse-tools>* {
  height:auto!important;
  min-height:48px!important;
  padding-block:10px!important;
  line-height:1.3!important;
}
html body #fincan-store.store-shell[data-text-layout=large] .ta-auth {
  display:flex;
  flex-direction:column;
}
html body #fincan-store.store-shell[data-text-layout=large] .ta-auth>form {order:1}
html body #fincan-store.store-shell[data-text-layout=large] .ta-auth>:is(.ta-auth-lead,.ta-auth-kicker,.ta-row,.ta-note) {order:2}
html body #fincan-store.store-shell[data-text-layout=large] .ta-btn {
  height:auto;
  padding:12px;
  line-height:1.35;
}
html body #fincan-store.store-shell[data-text-layout=large] .pay-help .wa-help {
  height:auto!important;
  min-width:0;
  padding:12px!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
  line-height:1.35!important;
}
html body #fincan-store.store-shell[data-text-layout=large] .pay-help .wa-help>span {
  min-width:0;
}
html body #fincan-store.store-shell[data-text-layout=large] .pay-layout .checkout-steps li {
  flex-direction:column!important;
  gap:6px;
  line-height:1.3!important;
}
html body #fincan-store[data-text-layout=large] .sg-radios {
  flex-wrap:wrap;
  gap:10px 18px;
}
html body #fincan-store[data-text-layout=large] .sg-radio {
  min-width:0;
  min-height:44px;
  line-height:1.3;
}
html body #fincan-store[data-text-layout=large] .sg-loc {
  grid-template-columns:minmax(0,1fr);
}
html body #fincan-store[data-text-layout=large] .location-trigger {
  height:auto!important;
  min-height:56px;
  padding-block:12px;
}
html body #fincan-store[data-text-layout=large] .location-value {
  overflow:visible;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.3;
}
html body #fincan-store[data-text-layout=large] .sg-field {
  display:flex;
  flex-direction:column-reverse;
  gap:6px;
}
html body #fincan-store[data-text-layout=large] .sg-field>span {
  position:static;
  transform:none!important;
  line-height:1.3;
}
html body #fincan-store[data-text-layout=large] .sg-field :is(input,textarea) {
  height:auto;
  min-height:2.5em;
  padding:12px;
  line-height:1.4;
}
html body #fincan-store[data-text-layout=large] .sg-phone {
  flex-wrap:wrap;
}
html body #fincan-store[data-text-layout=large] .sg-phone-body {
  flex:1 0 100%;
  max-width:100%;
  border-left:0;
  padding:10px;
}
html body #fincan-store[data-text-layout=large] .sg-phone-body small {
  line-height:1.3;
}
html body #fincan-store[data-text-layout=large] .sg-phone-row {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:4px;
}
html body #fincan-store[data-text-layout=large] .sg-phone-row input {
  min-width:0;
  height:auto;
  min-height:1.5em;
  line-height:1.4;
}
html body #fincan-store[data-text-layout=large] .shop-dock .sc-total-breakdown {
  max-height:35dvh;
  overflow:auto;
  overscroll-behavior:contain;
}
html body #fincan-store .large-text-cart-notice .dock-shipband {
  position:static!important;
  inset:auto!important;
  transform:none!important;
  width:auto!important;
  max-width:none!important;
  display:flex!important;
  align-items:center;
  gap:10px;
  padding:14px;
  margin:10px 0;
  border:1px solid #ddd0fb;
  border-radius:12px;
  background:#f3eeff;
  color:#6d3fd6;
  line-height:1.4;
}
html body #fincan-store .large-text-cart-notice .dock-shipband-text {
  flex:1;
  min-width:0;
  overflow-wrap:anywhere;
}
html body #fincan-store .large-text-cart-notice .dock-shipband button {
  display:grid;
  place-items:center;
  flex:none;
  width:44px;
  height:44px;
}
