/** Modern storefront layer. Brand colors remain configurable in plugin settings. */
.gap-page { --gap-label: var(--gap-display); background: radial-gradient(ellipse at 12% 0%, rgba(215,19,98,.15), transparent 48%), radial-gradient(ellipse at 100% 45%, rgba(130,91,205,.12), transparent 45%), var(--gap-bg); }
.gap-inner { width: min(1240px, calc(100% - 80px)); padding: 160px 0 100px; }
.gap-page .gap-eyebrow { margin: 0 0 18px !important; color: var(--gap-muted) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .18em !important; line-height: 1.5 !important; text-transform: uppercase !important; }
.gap-hero { max-width: 860px; margin: 0 auto; }
.gap-page .gap-hero__title { font-size: clamp(40px, 5.5vw, 76px) !important; line-height: 1.08 !important; letter-spacing: -.045em !important; text-transform: none !important; text-wrap: balance; }
.gap-hero__title::after { display: none; }
.gap-page .gap-hero__lead { max-width: 600px; font-size: 17.6px !important; }
.gap-page .gap-btn, .gap-link .gap-link__action { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 50px; border-radius: 12px !important; font-size: 16px !important; letter-spacing: .01em !important; text-transform: none !important; font-weight: 700 !important; line-height: 1.4 !important; }
.gap-page .gap-hero__browse { margin-top: 28px; }
.gap-page .gap-intro { max-width: 770px; margin-top: 30px !important; font-size: 15.2px !important; color: var(--gap-muted) !important; }
.gap-collection { margin-top: 68px; scroll-margin-top: 110px; }
.gap-collection__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 26px; text-align: left; }
.gap-collection__head .gap-eyebrow { margin-bottom: 8px !important; }
.gap-page .gap-collection__head h2 { margin: 0 !important; color: var(--gap-text) !important; font-size: clamp(24px, 2.5vw, 32px) !important; font-weight: 700 !important; line-height: 1.25 !important; letter-spacing: -.035em !important; text-transform: none !important; background: none !important; }
.gap-page .gap-collection__head > p { margin: 0 !important; color: var(--gap-muted) !important; font-size: 16px !important; line-height: 1.6 !important; }
.gap-swiper { margin-top: 0; padding: 0 0 72px; }
.gap-card { display: flex; flex-direction: column; height: 100%; padding: 10px 10px 18px; background: var(--gap-card); border: 1px solid rgba(255,255,255,.1); border-radius: 20px; text-align: left; transition: border-color .2s ease; }
.gap-card:hover, .gap-card:focus-within { border-color: rgba(255,255,255,.32); }
.gap-page .gap-card__media { border-radius: 13px !important; }
.gap-card__img { padding: 20px; transition: opacity .35s ease; }
.gap-card__zoom { right: 10px; bottom: 10px; border-radius: 8px; background: #100726; font-family: var(--gap-display); font-size: 12px; letter-spacing: .02em; text-transform: none; opacity: 1; }
.gap-page .gap-card__title { margin: 20px 10px 0 !important; font-family: var(--gap-display) !important; font-size: 16px !important; line-height: 1.4 !important; letter-spacing: -.015em !important; text-transform: none !important; overflow-wrap: anywhere; }
.gap-page .gap-card__price { margin: 6px 10px 18px !important; color: var(--gap-text) !important; font-family: var(--gap-display) !important; font-size: 15.2px !important; font-weight: 700 !important; line-height: 1.5 !important; letter-spacing: 0 !important; }
body.gap-apparel-page .gap-page button.gap-card__cart, .gap-page button.gap-card__cart { display: flex !important; align-items: center; justify-content: center; width: calc(100% - 20px) !important; min-height: 46px !important; margin: auto 10px 0 !important; padding: 12px 8px !important; border-radius: 10px !important; border-color: rgba(255,255,255,.25) !important; font-family: var(--gap-display) !important; font-size: 13.6px !important; font-weight: 700 !important; line-height: 1.4 !important; letter-spacing: 0 !important; text-transform: none !important; white-space: normal; }
body.gap-apparel-page .gap-page button.gap-card__cart:hover, body.gap-apparel-page .gap-page button.gap-card__cart.is-added { border-color: var(--gap-accent) !important; }
.gap-card__title + .gap-card__cart { margin-top: 18px !important; }
.gap-page .gap-arrow { top: auto; bottom: 0; width: 44px !important; height: 44px !important; border-color: rgba(255,255,255,.2) !important; background: var(--gap-card) !important; }
.gap-page .gap-arrow--prev { left: auto; right: 56px; }
.gap-page .gap-arrow--next { right: 0; }
.gap-pagination { position: absolute; bottom: 14px !important; left: 0 !important; width: calc(100% - 120px) !important; display: flex; align-items: center; gap: 6px; text-align: left; }
.gap-pagination .swiper-pagination-bullet { width: 24px; height: 6px; margin: 0 !important; border-radius: 8px; background: var(--gap-muted); opacity: .3; }
.gap-pagination .swiper-pagination-bullet-active { background: var(--gap-accent); opacity: 1; }
.gap-page .gap-hint { text-align: left; margin-top: 14px !important; font-size: 14px !important; letter-spacing: 0 !important; }
/* Keep products browsable if the carousel script is unavailable. */
.gap-swiper:not(.swiper-initialized) .swiper-wrapper { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.gap-swiper:not(.swiper-initialized) .gap-arrow { display: none; }
.gap-page .gap-cta { margin-top: 60px; padding: 46px 30px; border: 1px solid rgba(255,255,255,.12); border-radius: 24px; background: radial-gradient(ellipse at 50% 0%, rgba(215,19,98,.15), transparent 70%), var(--gap-card); }
.gap-page .gap-cta__title { font-size: clamp(28.8px, 3.5vw, 44px) !important; line-height: 1.2 !important; letter-spacing: -.035em !important; text-transform: none !important; }
.gap-page .gap-cta__text { font-size: 16px !important; }
.gap-page .gap-cta__note { max-width: 480px; margin: 18px auto 0 !important; color: var(--gap-muted) !important; font-size: 14px !important; line-height: 1.6 !important; }
.gap-link { border-radius: 18px !important; }
.gap-link__title { letter-spacing: -.02em !important; text-transform: none !important; }
.gap-page :is(a, button, [role="button"]):focus-visible, body .gap-drawer :is(button, input, textarea):focus-visible, body .gap-bag:focus-visible { outline: 3px solid #fff !important; outline-offset: 4px; }
/* Inquiry drawer and touch controls. */
body .gap-bag, body .gap-bag:hover, body .gap-bag:focus, body .gap-bag:active { top: auto; right: 24px; bottom: max(24px, env(safe-area-inset-bottom)); gap: 10px; width: auto !important; height: 54px !important; padding: 0 20px !important; border: 1px solid rgba(255,255,255,.25) !important; border-radius: 16px !important; background: #1a0b36 !important; box-shadow: 0 8px 30px rgba(0,0,0,.3) !important; }
.gap-bag__label { font-family: "Raleway", Arial, sans-serif; font-size: 14px; font-weight: 700; text-transform: none; letter-spacing: 0; }
.gap-bag__count { position: static; min-width: 24px; height: 24px; line-height: 24px; border-radius: 8px; font-family: Arial, sans-serif; font-size: 12px; }
.gap-drawer, .gap-drawer * { box-sizing: border-box; }
.gap-drawer__panel { width: min(480px, 100%); height: 100%; height: 100dvh; border-left: 1px solid rgba(255,255,255,.1); }
.gap-drawer__head { padding: 24px; gap: 16px; }
.gap-drawer__head h2 { font-size: 22.4px !important; letter-spacing: -.025em !important; text-transform: none !important; }
.gap-drawer__body { padding: 24px 24px max(30px, env(safe-area-inset-bottom)); overscroll-behavior: contain; }
.gap-drawer__intro { margin: 0 0 24px !important; color: #d7cce8 !important; font-size: 16px !important; line-height: 1.6 !important; }
.gap-drawer__item { grid-template-columns: 76px minmax(0,1fr) 44px; gap: 14px; padding-bottom: 18px; margin-bottom: 18px !important; }
.gap-drawer__item img { width: 76px; height: 76px; border-radius: 12px; }
.gap-drawer__copy strong { font-family: "Raleway", Arial, sans-serif; letter-spacing: 0; text-transform: none; overflow-wrap: anywhere; }
.gap-drawer__price { color: #fff; font-family: Arial, sans-serif; }
body .gap-drawer .gap-drawer__qty button, body .gap-drawer button.gap-drawer__remove, body .gap-drawer button.gap-drawer__close { width: 44px !important; height: 44px !important; border-radius: 10px !important; }
body .gap-drawer .gap-drawer__qty button { background: #1a0b36 !important; border-color: rgba(255,255,255,.2) !important; }
body .gap-drawer button.gap-drawer__clear { min-height: 44px !important; font-family: "Raleway", Arial, sans-serif !important; font-size: 14px !important; letter-spacing: 0 !important; text-transform: none !important; }
.gap-drawer__total, .gap-drawer__form-title, .gap-drawer__form label span { font-family: "Raleway", Arial, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; }
.gap-drawer__form-title { margin: 28px 0 18px !important; font-size: 16px !important; }
.gap-drawer__form label { margin-bottom: 18px; }
.gap-drawer__form label span { font-size: 13.6px; }
body .gap-drawer .gap-drawer__form input, body .gap-drawer .gap-drawer__form textarea { min-height: 50px; border-radius: 10px !important; }
body .gap-drawer button.gap-drawer__submit { min-height: 52px !important; border-radius: 12px !important; font-family: "Raleway", Arial, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; }
.gap-sent { border-radius: 16px; }
.gap-drawer__error { border-radius: 10px; }
.gap-lightbox__dialog { height: calc(100% - 48px); height: calc(100dvh - 48px); }
@media (max-width: 1023px) {
 .gap-inner { width: calc(100% - 48px); padding: 60px 0 80px; }
 .gap-collection__head { align-items: flex-start; flex-direction: column; gap: 10px; }
 .gap-swiper { padding: 0 0 68px; }
 .gap-swiper:not(.swiper-initialized) .swiper-wrapper { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 767px) {
 .gap-inner { width: calc(100% - 36px); padding: 42px 0 100px; }
 .gap-page .gap-eyebrow { font-size: 12px !important; letter-spacing: .12em !important; }
 .gap-page .gap-hero__title { font-size: clamp(35.2px, 9vw, 56px) !important; }
 .gap-page .gap-hero__lead { font-size: 16px !important; }
 .gap-page .gap-intro { font-size: 13.6px !important; }
 .gap-collection { margin-top: 44px; }
 .gap-card { padding: 8px 8px 16px; border-radius: 18px; }
 .gap-card__img { padding: 16px; }
 .gap-page .gap-card__title { margin-top: 16px !important; font-size: 16px !important; }
 .gap-page .gap-card__price { font-size: 15.2px !important; }
 .gap-page .gap-cta { margin-top: 36px; padding: 32px 20px; border-radius: 20px; }
 .gap-page .gap-cta .gap-btn { width: 100%; }
 body .gap-bag, body .gap-bag:hover, body .gap-bag:focus, body .gap-bag:active { right: 18px; bottom: max(16px, env(safe-area-inset-bottom)); height: 50px !important; padding: 0 16px !important; }
 .gap-drawer__head { padding: 16px 18px; }
 .gap-drawer__body { padding: 20px 18px max(28px, env(safe-area-inset-bottom)); }
 .gap-drawer__panel { width: 100%; }
 .gap-lightbox__dialog { width: calc(100% - 24px); height: calc(100% - 40px); height: calc(100dvh - 40px); margin: 20px auto; }
 .gap-swiper:not(.swiper-initialized) .swiper-wrapper { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
 .gap-swiper:not(.swiper-initialized) .swiper-slide { flex: 0 0 85%; scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) { .gap-card { transition: none; } }

/* Match the theme's button specificity while retaining consistent touch targets. */
body.gap-apparel-page button.gap-bag, body.gap-apparel-page button.gap-bag:hover, body.gap-apparel-page button.gap-bag:focus, body.gap-apparel-page button.gap-bag:active { background-color: #1a0b36 !important; background-image: none !important; width: auto !important; border-radius: 16px !important; }
body.gap-apparel-page .gap-drawer button.gap-drawer__submit { border-radius: 12px !important; font-family: "Raleway", Arial, sans-serif !important; font-size: 15px !important; letter-spacing: 0 !important; text-transform: none !important; }
body.gap-apparel-page .gap-drawer .gap-drawer__qty button { width: 44px !important; height: 44px !important; border-radius: 10px !important; background-color: #1a0b36 !important; }
body.gap-apparel-page .gap-drawer button.gap-drawer__clear { min-height: 44px !important; font-family: "Raleway", Arial, sans-serif !important; font-size: 14px !important; letter-spacing: 0 !important; text-transform: none !important; }
.gap-page, .gap-drawer { font-size: 16px; }
.gap-drawer__total { font-size: 16px; }
.gap-drawer__qty { font-family: Arial, sans-serif; font-size: 16px; }
.gap-pagination { flex-wrap: wrap; }
.gap-swiper.is-static { padding-bottom: 0; }
.gap-swiper.is-static + .gap-hint { display: none; }
body.gap-apparel-page .trx_addons_scroll_to_top { right: auto !important; left: 16px !important; }
@media (max-width: 767px) {
 .gap-bag__label { font-size: 13px; }
 .gap-drawer__item { grid-template-columns: 64px minmax(0, 1fr) 44px; gap: 10px; }
 .gap-drawer__item img { width: 64px; height: 64px; }
}
.gap-drawer__copy strong { font-size: 16px; line-height: 1.4; }
.gap-drawer__price { font-size: 15px; line-height: 1.4; }
.gap-bag__label { white-space: nowrap; }
body.gap-apparel-page .gap-page button.gap-arrow { font-size: 22px !important; background-color: var(--gap-card) !important; }
body.gap-apparel-page .gap-drawer button.gap-drawer__submit[class*="sc_button_hover_"]:is(:hover, :focus, :active) { border-radius: 12px !important; font-family: "Raleway", Arial, sans-serif !important; font-size: 15px !important; letter-spacing: 0 !important; text-transform: none !important; }
body.gap-apparel-page .gap-drawer button.gap-drawer__clear[class*="sc_button_hover_"]:is(:hover, :focus, :active) { min-height: 44px !important; font-family: "Raleway", Arial, sans-serif !important; font-size: 14px !important; letter-spacing: 0 !important; text-transform: none !important; }
/* Full-width image hero. Content grows naturally when copy is longer than the chosen height. */
.gap-page .gap-hero--banner { position: relative; isolation: isolate; display: grid; place-items: center; width: 100%; max-width: none; min-height: var(--gap-hero-height, 560px); margin: 0; padding: 110px 40px 90px; overflow: hidden; background: var(--gap-bg); }
.gap-hero__background { position: absolute; inset: 0; z-index: -2; }
.gap-hero__background picture { display: block; width: 100%; height: 100%; }
.gap-page .gap-hero__image { display: block; width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; object-fit: cover; object-position: var(--gap-hero-position, center center); }
.gap-hero--banner::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--gap-hero-overlay, #100726); opacity: var(--gap-hero-opacity, .65); }
.gap-hero--banner::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.15), transparent 40%, rgba(0,0,0,.3)); }
.gap-hero__content { width: 100%; max-width: 900px; margin: auto; color: #fff; }
.gap-page .gap-hero--banner .gap-eyebrow { display: inline-block; margin-bottom: 24px !important; padding: 8px 14px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(16,7,38,.2); color: #fff !important; font-size: 12px !important; letter-spacing: .14em !important; }
.gap-page .gap-hero--banner .gap-hero__title { color: #fff !important; text-shadow: 0 2px 24px rgba(0,0,0,.2); }
.gap-page .gap-hero--banner .gap-hero__lead { color: #f3eef7 !important; max-width: 630px; margin-top: 22px !important; }
.gap-page .gap-hero--banner .gap-intro { color: #eee7f3 !important; max-width: 700px; margin-top: 24px !important; font-size: 14px !important; }
.gap-page .gap-inner { padding-top: 0; }
@media (max-width: 1023px) { .gap-page .gap-hero--banner { padding: 90px 32px 70px; } }
@media (max-width: 767px) {
 .gap-page .gap-hero--banner { min-height: var(--gap-hero-mobile-height, 480px); padding: 68px 24px 60px; }
 .gap-page .gap-hero--banner .gap-eyebrow { padding: 7px 10px; font-size: 12px !important; letter-spacing: .1em !important; }
 .gap-page .gap-hero--banner .gap-hero__title { font-size: clamp(34px, 9vw, 48px) !important; }
 .gap-page .gap-hero--banner .gap-hero__lead { font-size: 16px !important; margin-top: 18px !important; }
 .gap-page .gap-hero--banner .gap-intro { font-size: 14px !important; line-height: 1.6 !important; }
 .gap-page .gap-hero--banner .gap-hero__browse { min-height: 50px; max-width: 100%; }
}
/* Place quantity controls beside the product details to use the full inquiry row. */
.gap-drawer .gap-drawer__item { grid-template-columns: 76px minmax(0, 1fr) 120px 44px; gap: 12px; }
.gap-drawer .gap-drawer__copy { min-width: 0; }
.gap-drawer .gap-drawer__qty { margin-top: 0; justify-content: space-between; gap: 6px; }
.gap-drawer .gap-drawer__qty > span { min-width: 20px; text-align: center; font-variant-numeric: tabular-nums; }
@media (max-width: 767px) {
 .gap-drawer .gap-drawer__item { grid-template-columns: 56px minmax(0, 1fr) 120px 44px; gap: 8px; }
 .gap-drawer .gap-drawer__item > img, .gap-drawer .gap-drawer__thumb { width: 56px; height: 56px; }
}
@media (max-width: 359px) {
 .gap-drawer .gap-drawer__item { grid-template-columns: 48px minmax(0, 1fr) 120px; }
 .gap-drawer .gap-drawer__item > img, .gap-drawer .gap-drawer__thumb { width: 48px; height: 48px; grid-row: 1 / 3; }
 .gap-drawer .gap-drawer__copy { grid-row: 1 / 3; }
 .gap-drawer .gap-drawer__qty { grid-column: 3; grid-row: 1; }
 .gap-drawer .gap-drawer__remove { grid-column: 3; grid-row: 2; justify-self: end; }
}
/* Keep the trash hit area and icon stationary across theme hover/focus states. */
body.gap-apparel-page .gap-drawer .gap-drawer__item > button.gap-drawer__remove,
body.gap-apparel-page .gap-drawer .gap-drawer__item > button.gap-drawer__remove:is(:hover, :focus, :active) {
 width: 44px !important;
 height: 44px !important;
 min-width: 44px !important;
 max-width: 44px !important;
 min-height: 44px !important;
 max-height: 44px !important;
 padding: 0 !important;
 transform: none !important;
 transition: none !important;
 animation: none !important;
}
body.gap-apparel-page .gap-drawer .gap-drawer__remove > svg {
 transform: none !important;
 transition: none !important;
 animation: none !important;
}

/* Product cards: generous imagery, readable details and stable touch controls. */
.gap-page .gap-card {
 display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto 1fr auto;
 column-gap: 14px; row-gap: 20px; padding: 12px 12px 20px; border-radius: 24px;
 background: linear-gradient(145deg, rgba(255,255,255,.035), transparent 65%), var(--gap-card);
 box-sizing: border-box; box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
.gap-page .gap-card__media { grid-column: 1 / -1; border-radius: 16px !important; }
.gap-page .gap-card__img { padding: 24px; box-sizing: border-box; }
.gap-page .gap-card__title { margin: 0 0 0 6px !important; font-size: 18px !important; line-height: 1.45 !important; font-weight: 700 !important; align-self: start; }
.gap-page .gap-card__price { margin: 0 6px 0 0 !important; padding: 6px 10px; border-radius: 8px; background: rgba(255,255,255,.07); font-size: 16px !important; line-height: 1.5 !important; white-space: nowrap; align-self: start; font-variant-numeric: tabular-nums; }
.gap-page .gap-card__zoom { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 0 12px; right: 12px; bottom: 12px; border-radius: 10px; font-size: 14px; line-height: 1.4; letter-spacing: 0; background: #100726; box-shadow: 0 3px 12px rgba(16,7,38,.15); opacity: 1; }
.gap-card__zoom svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
body.gap-apparel-page .gap-page .gap-card > button.gap-card__cart,
body.gap-apparel-page .gap-page .gap-card > button.gap-card__cart:is(:hover, :focus, :active) {
 grid-column: 1 / -1; gap: 10px; width: calc(100% - 12px) !important; min-height: 50px !important;
 margin: 0 6px !important; padding: 12px 16px !important; border-radius: 12px !important;
 font-size: 15px !important; line-height: 1.4 !important; transform: none !important;
 transition: background-color .2s ease, border-color .2s ease !important;
}
body.gap-apparel-page .gap-page .gap-card > button.gap-card__cart::before { content: ''; display: block; position: static; flex: 0 0 18px; width: 18px; height: 18px; background: currentColor !important; opacity: 1; transform: none; clip-path: polygon(44% 0,56% 0,56% 44%,100% 44%,100% 56%,56% 56%,56% 100%,44% 100%,44% 56%,0 56%,0 44%,44% 44%); }
body.gap-apparel-page .gap-page .gap-card > button.gap-card__cart.is-added::before { clip-path: polygon(0 48%,14% 34%,38% 59%,85% 9%,100% 23%,38% 90%); }
body.gap-apparel-page .gap-page .gap-card > button.gap-card__cart::after { display: none !important; }
@media (max-width: 767px) {
 .gap-page .gap-card { padding: 10px 10px 16px; border-radius: 20px; column-gap: 10px; row-gap: 18px; }
 .gap-page .gap-card__title { font-size: 17px !important; }
 .gap-page .gap-card__price { padding: 5px 8px; font-size: 15px !important; }
 .gap-page .gap-card__img { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) { body.gap-apparel-page .gap-page .gap-card > button.gap-card__cart { transition: none !important; } }

/* Reserve a non-shrinking number slot for multi-digit quantities. */
.gap-drawer .gap-drawer__item { grid-template-columns: 76px minmax(0, 1fr) 128px 44px; }
.gap-drawer .gap-drawer__qty { width: 128px; gap: 4px; flex-wrap: nowrap; }
.gap-drawer .gap-drawer__qty > span { flex: 0 0 32px; width: 32px; min-width: 32px; white-space: nowrap; word-break: normal; overflow-wrap: normal; line-height: 1.4; }
.gap-drawer .gap-drawer__qty > button { flex: 0 0 44px; }
@media (max-width: 767px) { .gap-drawer .gap-drawer__item { grid-template-columns: 56px minmax(0, 1fr) 128px 44px; } }
@media (max-width: 359px) { .gap-drawer .gap-drawer__item { grid-template-columns: 48px minmax(0, 1fr) 128px; } }

/* Keep circular navigation and its focus ring clear of the carousel clipping edge. */
body.gap-apparel-page .gap-page button.gap-arrow,
body.gap-apparel-page .gap-page button.gap-arrow:is(:hover, :focus, :active) {
 display: flex !important; align-items: center; justify-content: center;
 top: auto !important; bottom: 8px !important; width: 44px !important; height: 44px !important;
 min-width: 44px !important; max-width: 44px !important; min-height: 44px !important; max-height: 44px !important;
 padding: 0 !important; margin: 0 !important; box-sizing: border-box;
 border-radius: 50% !important; transform: none !important; overflow: hidden;
}
body.gap-apparel-page .gap-page button.gap-arrow--prev { left: auto !important; right: 64px !important; }
body.gap-apparel-page .gap-page button.gap-arrow--next { right: 8px !important; }
body.gap-apparel-page .gap-page button.gap-arrow::before,
body.gap-apparel-page .gap-page button.gap-arrow::after { display: none !important; }
.gap-page .gap-pagination { bottom: 22px !important; }
.gap-card.has-hover.is-auto-preview .gap-card__img--hover { opacity: 1; }
body.gap-apparel-page .gap-page button.gap-motion,
body.gap-apparel-page .gap-page button.gap-motion:is(:hover, :focus, :active) { display: inline-flex !important; align-items: center; min-height: 44px !important; margin: 12px 0 0 !important; padding: 10px 14px !important; border: 1px solid rgba(255,255,255,.25) !important; border-radius: 10px !important; background: var(--gap-card) !important; color: var(--gap-text) !important; font: 600 14px/1.4 var(--gap-display) !important; letter-spacing: 0 !important; text-transform: none !important; transform: none !important; }
body.gap-apparel-page .gap-page button.gap-motion::before,
body.gap-apparel-page .gap-page button.gap-motion::after { display: none !important; }

/* Match Swiper's first frame before JavaScript initializes, avoiding a grid flash. */
.gap-page .gap-swiper:not(.swiper-initialized) { --gap-initial-columns: min(1.15, var(--gap-count, 1)); --gap-initial-gap: 12px; }
.gap-page .gap-swiper:not(.swiper-initialized) .swiper-wrapper { display: flex; gap: var(--gap-initial-gap); overflow: visible; scroll-snap-type: none; }
.gap-page .gap-swiper:not(.swiper-initialized) .swiper-slide { flex: 0 0 auto; width: calc((100% - (var(--gap-initial-columns) - 1) * var(--gap-initial-gap)) / var(--gap-initial-columns)); }
@media (min-width: 480px) { .gap-page .gap-swiper:not(.swiper-initialized) { --gap-initial-columns: min(1.6, var(--gap-count, 1)); --gap-initial-gap: 16px; } }
@media (min-width: 768px) { .gap-page .gap-swiper:not(.swiper-initialized) { --gap-initial-columns: min(2.5, var(--gap-count, 1)); --gap-initial-gap: 20px; } }
@media (min-width: 1024px) { .gap-page .gap-swiper:not(.swiper-initialized) { --gap-initial-columns: min(4, var(--gap-count, 1)); --gap-initial-gap: 22px; } }

/* Keep carousel controls clear of the floating inquiry button. */
body.gap-apparel-page .gap-page button.gap-arrow--prev { left: 8px !important; right: auto !important; }
body.gap-apparel-page .gap-page button.gap-arrow--next { left: 64px !important; right: auto !important; }
body.gap-apparel-page .gap-page button.gap-arrow[class*="sc_button_hover_"]:is(:hover, :focus, :active) {
 width: 44px !important; height: 44px !important; border-radius: 50% !important;
 background: var(--gap-card) !important; border: 1px solid var(--gap-accent) !important;
 padding: 0 !important; transform: none !important; color: var(--gap-text) !important;
}
.gap-page .gap-arrow svg { display: block; flex: 0 0 22px; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.gap-page .gap-pagination { left: 124px !important; width: calc(100% - 132px) !important; }

/* Side navigation with a centered pagination row. Only the product viewport clips slides. */
.gap-page .gap-swiper { overflow: visible; }
.gap-swiper__viewport { overflow: hidden; width: 100%; }
body.gap-apparel-page .gap-page .gap-carousel > button.gap-arrow,
body.gap-apparel-page .gap-page .gap-carousel > button.gap-arrow:is(:hover, :focus, :active) {
 top: calc((100% - 72px) / 2) !important; bottom: auto !important; transform: translateY(-50%) !important;
}
body.gap-apparel-page .gap-page .gap-carousel > button.gap-arrow--prev { left: -54px !important; right: auto !important; }
body.gap-apparel-page .gap-page .gap-carousel > button.gap-arrow--next { left: auto !important; right: -54px !important; }
.gap-page .gap-pagination { left: 0 !important; right: 0; width: 100% !important; justify-content: center; bottom: 22px !important; }
@media (min-width: 1024px) { .gap-page .gap-inner { width: min(1240px, calc(100% - 128px)); } }
@media (max-width: 1023px) {
 body.gap-apparel-page .gap-page .gap-carousel > button.gap-arrow,
 body.gap-apparel-page .gap-page .gap-carousel > button.gap-arrow:is(:hover, :focus, :active) { top: calc((100% - 68px) / 2) !important; }
 body.gap-apparel-page .gap-page .gap-carousel > button.gap-arrow--prev { left: 8px !important; }
 body.gap-apparel-page .gap-page .gap-carousel > button.gap-arrow--next { right: 8px !important; }
}

.gap-page .gap-carousel { position: relative; padding-bottom: 72px; }
.gap-page .gap-carousel .gap-swiper { overflow: hidden; padding-bottom: 0 !important; }
.gap-carousel:has(.is-static) { padding-bottom: 0; }
.gap-carousel:has(.is-static) > .gap-arrow { display: none !important; }
@media(max-width:1023px) { .gap-page .gap-carousel { padding-bottom: 68px; } }

/* Plain arrows retain generous hit areas without a colored circle. */
body.gap-apparel-page .gap-page .gap-carousel > button.gap-arrow[class],
body.gap-apparel-page .gap-page .gap-carousel > button.gap-arrow[class]:is(:hover, :focus, :active) {
 background: transparent !important; background-image: none !important; border: 0 !important;
 border-radius: 0 !important; box-shadow: none !important; color: var(--gap-text) !important;
}
.gap-page .gap-carousel .gap-arrow svg { flex-basis: 28px; width: 28px; height: 28px; }
.gap-page .gap-swiper { touch-action: pan-y; }
.gap-page .gap-card__media { user-select: none; -webkit-user-select: none; }
.gap-page .gap-card__img { -webkit-user-drag: none; user-select: none; }

/* Taller, edge-to-edge portrait product previews. */
.gap-page .gap-card__media { aspect-ratio: 3 / 4; }
.gap-page .gap-card .gap-card__media .gap-card__img { padding: 0 !important; object-fit: cover; object-position: center; }
.gap-page .gap-card .gap-card__media.is-fallback .gap-card__img { object-fit: contain; }

/* Icon-only image preview cue; the image retains its accessible view label. */
.gap-page .gap-card__zoom { width: 44px; height: 44px; min-height: 44px; padding: 0; gap: 0; box-sizing: border-box; }
.gap-page .gap-card__zoom svg { width: 20px; height: 20px; }

/* Product details use the existing accessible image modal and inquiry flow. */
body.gap-apparel-page .gap-page button.gap-card__details,
body.gap-apparel-page .gap-page button.gap-card__details:is(:hover, :focus, :active) { display: inline !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; color: inherit !important; font: inherit !important; letter-spacing: inherit !important; text-transform: none !important; text-align: left; transform: none !important; }
body.gap-apparel-page .gap-page button.gap-card__details::before,
body.gap-apparel-page .gap-page button.gap-card__details::after { display: none !important; }
.gap-page .gap-lightbox { display: grid; place-items: center; background: rgba(0,0,0,.7) !important; padding: 24px; box-sizing: border-box; }
body.gap-apparel-page .gap-lightbox button.gap-lightbox__backdrop { background: transparent !important; }
.gap-page .gap-product-dialog { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; width: min(920px, 100%); height: auto; max-height: calc(100dvh - 48px); margin: 0; overflow: auto; pointer-events: auto; background: var(--gap-card); border: 1px solid rgba(255,255,255,.16); border-radius: 22px; box-shadow: 0 24px 80px rgba(0,0,0,.4); }
.gap-product-gallery { position: relative; display: grid; place-items: center; min-width: 0; background: #fff; }
.gap-page .gap-product-gallery .gap-lightbox__img { display: block; width: 100% !important; height: 100% !important; max-height: 600px !important; object-fit: contain; background: #fff; box-shadow: none; }
.gap-page .gap-product-copy { padding: 64px 32px 36px; min-width: 0; }
.gap-page .gap-product-copy h2 { margin: 0 0 16px !important; color: var(--gap-text) !important; font: 700 28px/1.25 var(--gap-display) !important; letter-spacing: -.02em !important; text-transform: none !important; overflow-wrap: anywhere; }
.gap-page .gap-product-price { margin: 0 0 22px !important; color: var(--gap-text) !important; font-size: 22px !important; font-weight: 700; line-height: 1.5; }
.gap-page .gap-product-description { margin: 0 0 28px !important; color: var(--gap-muted) !important; font-size: 16px !important; line-height: 1.7 !important; white-space: pre-line; overflow-wrap: anywhere; }
.gap-product-copy [hidden] { display: none !important; }
body.gap-apparel-page .gap-page button.gap-product-contact,
body.gap-apparel-page .gap-page button.gap-product-contact:is(:hover, :focus, :active) { width: 100% !important; min-height: 50px !important; margin: 0 !important; padding: 14px 18px !important; background: var(--gap-accent) !important; color: #fff !important; border: 0 !important; border-radius: 12px !important; font: 700 16px/1.4 var(--gap-display) !important; letter-spacing: 0 !important; text-transform: none !important; transform: none !important; }
body.gap-apparel-page .gap-page button.gap-product-contact::before,
body.gap-apparel-page .gap-page button.gap-product-contact::after { display: none !important; }
.gap-page .gap-product-dialog .gap-lightbox__close { top: 12px; right: 12px; }
.gap-product-gallery .gap-lightbox__nav { top: 50%; transform: translateY(-50%); }
.gap-product-gallery .gap-lightbox__nav--prev { left: 12px; }
.gap-product-gallery .gap-lightbox__nav--next { right: 12px; }
@media(max-width:767px) {
 .gap-page .gap-lightbox { padding: 12px; }
 .gap-page .gap-product-dialog { grid-template-columns: 1fr; max-height: calc(100dvh - 24px); border-radius: 18px; }
 .gap-page .gap-product-gallery .gap-lightbox__img { height: 40dvh !important; max-height: 380px !important; }
 .gap-page .gap-product-copy { padding: 24px; }
 .gap-page .gap-product-copy h2 { font-size: 24px !important; }
}

.gap-page .gap-card__description { grid-column: 1 / -1; margin: 0 6px !important; color: var(--gap-muted) !important; font-size: 15px !important; line-height: 1.6 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

body.gap-apparel-page .gap-page .gap-card > button.gap-card__view,
body.gap-apparel-page .gap-page .gap-card > button.gap-card__view:is(:hover, :focus, :active) {
 grid-column: 1 / -1; display: inline-flex !important; align-items: center; justify-content: space-between;
 width: calc(100% - 12px) !important; min-height: 44px !important; margin: 0 6px !important; padding: 8px 0 !important;
 border: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--gap-text) !important;
 font: 600 15px/1.4 var(--gap-display) !important; letter-spacing: 0 !important; text-transform: none !important; transform: none !important;
}
body.gap-apparel-page .gap-page .gap-card > button.gap-card__view::before,
body.gap-apparel-page .gap-page .gap-card > button.gap-card__view::after { display: none !important; }
.gap-card__view svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* Long product names must wrap within the card, including theme button states. */
.gap-page .gap-card__title { grid-column: 1 / -1; min-width: 0; max-width: calc(100% - 12px); margin: 0 6px !important; min-height: 2.9em; }
body.gap-apparel-page .gap-page .gap-card__title > button.gap-card__details,
body.gap-apparel-page .gap-page .gap-card__title > button.gap-card__details:is(:hover, :focus, :active) {
 display: block !important; width: 100% !important; min-width: 0 !important; max-width: 100% !important;
 white-space: normal !important; overflow-wrap: anywhere; word-break: normal; box-sizing: border-box;
 height: auto !important; line-height: inherit !important;
}

/* Complete catalog view, using the same cards as the carousel. */
.gap-page .gap-collection__view { display: flex; justify-content: flex-end; margin: 0 0 24px; }
.gap-page .gap-grid-toggle[hidden] { display: none !important; }
body.gap-apparel-page .gap-page button.gap-grid-toggle {
 display: inline-flex; align-items: center; justify-content: center; gap: 10px;
 min-height: 48px; padding: 12px 20px; border: 1px solid rgba(255,255,255,.3);
 border-radius: 12px; background: rgba(255,255,255,.06); color: #fff;
 font-size: 15px; font-weight: 600; line-height: 1.4; white-space: normal;
 transform: none; cursor: pointer;
}
body.gap-apparel-page .gap-page button.gap-grid-toggle:hover { background: rgba(255,255,255,.13); transform: none; }
.gap-page .gap-grid-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.gap-page .gap-grid-toggle svg { width: 18px; height: 18px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; }
.gap-page .gap-carousel.is-grid { padding-bottom: 0; }
.gap-page .gap-carousel.is-grid .gap-swiper { overflow: visible; cursor: auto; }
.gap-page .gap-carousel.is-grid .swiper-wrapper {
 display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px;
 width: 100%; height: auto; transform: none !important; margin: 0;
}
.gap-page .gap-carousel.is-grid .swiper-slide {
 width: auto !important; height: auto; min-width: 0; margin: 0 !important; flex: none;
}
.gap-page .gap-carousel.is-grid .gap-card { height: 100%; box-sizing: border-box; }
.gap-page .gap-carousel.is-grid > .gap-arrow,
.gap-page .gap-carousel.is-grid > .gap-pagination { display: none !important; }
@media (max-width: 1023px) {
 .gap-page .gap-carousel.is-grid .swiper-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 599px) {
 .gap-page .gap-collection__view { justify-content: stretch; }
 body.gap-apparel-page .gap-page button.gap-grid-toggle { width: 100%; }
 .gap-page .gap-carousel.is-grid .swiper-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
/* Keep the view switch independent of theme button effects. */
body.gap-apparel-page .gap-page button.gap-grid-toggle,
body.gap-apparel-page .gap-page button.gap-grid-toggle:is(:hover, :focus, :active) {
 background: rgba(255,255,255,.08) !important; color: #fff !important;
 border: 1px solid rgba(255,255,255,.3) !important; box-shadow: none !important;
 transform: none !important; text-transform: none !important; letter-spacing: normal !important;
}
body.gap-apparel-page .gap-page button.gap-grid-toggle::before,
body.gap-apparel-page .gap-page button.gap-grid-toggle::after { display: none !important; }
.gap-page button.gap-grid-toggle > span { padding: 0 !important; background: none !important; color: inherit !important; }

@media (max-width: 599px) {
 .gap-page .gap-carousel.is-grid .gap-card { padding: 8px 8px 12px; gap: 10px; border-radius: 16px; }
 .gap-page .gap-carousel.is-grid .gap-card__title { font-size: 15px !important; line-height: 1.4 !important; margin: 0 !important; max-width: 100%; }
 .gap-page .gap-carousel.is-grid .gap-card__description { font-size: 13px !important; line-height: 1.5 !important; margin-left: 0 !important; margin-right: 0 !important; }
 .gap-page .gap-carousel.is-grid .gap-card__cart { font-size: 13px !important; padding: 10px 4px !important; margin: 0 !important; width: 100% !important; min-height: 44px; }
 .gap-page .gap-carousel.is-grid .gap-card__view { font-size: 13px !important; padding: 8px 0 !important; gap: 4px; }
 .gap-page .gap-carousel.is-grid .gap-card__view svg { width: 16px; flex-shrink: 0; }
 .gap-page .gap-carousel.is-grid .gap-card__price { grid-column: 1 / -1; justify-self: start; margin: 0 !important; }
}

/* Published product total beside the catalog view control. */
.gap-page .gap-collection__view { align-items: center; justify-content: space-between; gap: 16px; }
.gap-page .gap-collection__count { flex-shrink: 0; margin: 0 !important; color: #e2d9ee; font-size: 16px !important; line-height: 1.5 !important; font-weight: 600; }
@media (max-width: 599px) {
 .gap-page .gap-collection__view { flex-wrap: wrap; gap: 12px; }
 .gap-page .gap-collection__count { font-size: 15px !important; }
}

.gap-drawer__total[hidden] { display: none !important; }

/* Keep browser autofill consistent with the inquiry form's dark fields. */
body .gap-drawer .gap-drawer__form input:-webkit-autofill,
body .gap-drawer .gap-drawer__form input:-webkit-autofill:hover,
body .gap-drawer .gap-drawer__form input:-webkit-autofill:focus,
body .gap-drawer .gap-drawer__form input:-webkit-autofill:active {
 -webkit-box-shadow: 0 0 0 1000px #1a0b36 inset !important;
 box-shadow: 0 0 0 1000px #1a0b36 inset !important;
 -webkit-text-fill-color: #fff !important;
 caret-color: #fff !important;
}
body .gap-drawer .gap-drawer__form input:autofill {
 box-shadow: 0 0 0 1000px #1a0b36 inset !important;
 -webkit-text-fill-color: #fff !important;
 color: #fff !important;
 caret-color: #fff !important;
}

/* Large collections use a compact position counter instead of many dots. */
.gap-page .gap-pagination.swiper-pagination-fraction {
 flex-wrap: nowrap; gap: 8px; color: #c9bfdc; font-size: 14px;
 line-height: 1.5; font-variant-numeric: tabular-nums;
}
.gap-page .gap-pagination .swiper-pagination-current { color: #fff; font-weight: 700; }
.gap-page .gap-pagination.swiper-pagination-lock { display: none !important; }

/* Keep mobile inquiry labels on one line, including the two-column grid. */
@media (max-width: 599px) {
 body.gap-apparel-page .gap-page .gap-card > button.gap-card__cart,
 body.gap-apparel-page .gap-page .gap-card > button.gap-card__cart:is(:hover, :focus, :active) { white-space: nowrap !important; flex-wrap: nowrap !important; }
 body.gap-apparel-page .gap-page .gap-carousel.is-grid .gap-card > button.gap-card__cart,
 body.gap-apparel-page .gap-page .gap-carousel.is-grid .gap-card > button.gap-card__cart:is(:hover, :focus, :active) {
  width: 100% !important; margin: 0 !important; padding: 10px 4px !important;
  font-size: clamp(12px, 3.33vw, 13px) !important; gap: 4px; min-height: 44px !important;
 }
 body.gap-apparel-page .gap-page .gap-carousel.is-grid .gap-card > button.gap-card__cart::before {
  flex: 0 0 12px; width: 12px; height: 12px;
 }
}

/* Let mobile detail photos fill the gallery width at their natural ratio. */
@media (max-width: 767px) {
 .gap-page .gap-product-gallery { padding: 0 !important; gap: 0; overflow: hidden; }
 .gap-page .gap-product-gallery .gap-lightbox__img {
  width: 100% !important; max-width: 100% !important;
  height: auto !important; max-height: none !important;
  margin: 0 !important; padding: 0 !important; border: 0;
  border-radius: 0; object-fit: contain; align-self: start;
 }
}

/* More writing space for custom-order messages. */
body .gap-drawer .gap-drawer__form textarea[name="gap_message"] {
 height: 180px !important; min-height: 180px !important; max-height: none !important;
 resize: vertical;
}

/* Fill photo frames and use restrained focus styling in the dialogs. */
.gap-page .gap-product-gallery .gap-lightbox__img { object-fit: cover !important; }
body .gap-drawer .gap-drawer__item > img {
 object-fit: cover !important; padding: 0 !important; border: 0 !important;
 outline: none !important; box-shadow: none !important;
}
body .gap-drawer button.gap-drawer__close,
body .gap-drawer button.gap-drawer__close:is(:hover, :focus, :focus-visible, :active),
body.gap-apparel-page .gap-page button.gap-lightbox__close,
body.gap-apparel-page .gap-page button.gap-lightbox__close:is(:hover, :focus, :focus-visible, :active) {
 outline: none !important; outline-offset: 0 !important; box-shadow: none !important;
}
body .gap-drawer button.gap-drawer__close:focus-visible,
body.gap-apparel-page .gap-page button.gap-lightbox__close:focus-visible {
 background-color: #d71362 !important; color: #fff !important;
}
body .gap-drawer .gap-drawer__form :is(input, textarea),
body .gap-drawer .gap-drawer__form :is(input, textarea):is(:focus, :focus-visible) {
 outline: none !important; outline-offset: 0 !important;
}
body .gap-drawer .gap-drawer__form :is(input, textarea):focus {
 border-color: #d71362 !important;
}

/* Clear interaction feedback for sending an inquiry. */
body.gap-apparel-page .gap-drawer button.gap-drawer__submit,
body.gap-apparel-page .gap-drawer button.gap-drawer__submit:is(:hover, :focus, :active) {
 transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
body.gap-apparel-page .gap-drawer button.gap-drawer__submit::before,
body.gap-apparel-page .gap-drawer button.gap-drawer__submit::after { display: none !important; }
@media (hover: hover) and (pointer: fine) {
 body.gap-apparel-page .gap-drawer button.gap-drawer__submit:not(:disabled):not(.is-busy):hover {
  background: #e81770 !important; transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(215,19,98,.25) !important;
 }
}
body.gap-apparel-page .gap-drawer button.gap-drawer__submit:not(:disabled):not(.is-busy):focus-visible {
 background: #e81770 !important; box-shadow: 0 0 0 3px rgba(232,23,112,.3) !important;
}
body.gap-apparel-page .gap-drawer button.gap-drawer__submit:not(:disabled):not(.is-busy):active {
 background: #bd0f55 !important; transform: translateY(0) !important; box-shadow: none !important;
}
body.gap-apparel-page .gap-drawer button.gap-drawer__submit:disabled,
body.gap-apparel-page .gap-drawer button.gap-drawer__submit.is-busy {
 transform: none !important; box-shadow: none !important;
}
@media (prefers-reduced-motion: reduce) {
 body.gap-apparel-page .gap-drawer button.gap-drawer__submit,
 body.gap-apparel-page .gap-drawer button.gap-drawer__submit:is(:hover, :focus, :active) {
  transition: none !important; transform: none !important;
 }
}

/* Preserve inquiry launcher contrast across theme hover effects. */
body.gap-apparel-page button.gap-bag,
body.gap-apparel-page button.gap-bag:is(:hover, :focus, :focus-visible, :active) {
 color: #fff !important; transform: none !important;
 transition: background-color .18s ease, border-color .18s ease !important;
}
body.gap-apparel-page button.gap-bag::before,
body.gap-apparel-page button.gap-bag::after { display: none !important; }
body.gap-apparel-page button.gap-bag .gap-bag__label,
body.gap-apparel-page button.gap-bag:is(:hover, :focus, :active) .gap-bag__label,
body.gap-apparel-page button.gap-bag .gap-bag__count {
 color: #fff !important; -webkit-text-fill-color: #fff !important;
}
body.gap-apparel-page button.gap-bag .gap-bag__icon,
body.gap-apparel-page button.gap-bag .gap-bag__icon path {
 color: #fff !important; fill: #fff !important;
}
body.gap-apparel-page button.gap-bag:hover,
body.gap-apparel-page button.gap-bag:focus-visible {
 background-color: #271345 !important; border-color: rgba(255,255,255,.5) !important;
}
@media (prefers-reduced-motion: reduce) {
 body.gap-apparel-page button.gap-bag,
 body.gap-apparel-page button.gap-bag:is(:hover, :focus, :active) { transition: none !important; }
}

/* Prevent white seams at rounded photo edges and fractional slide widths. */
.gap-page .gap-card .gap-card__media:not(.is-fallback) {
 background: var(--gap-card, #1a0b36) !important;
}
.gap-page .gap-card .gap-card__media:not(.is-fallback) .gap-card__img {
 inset: -1px; width: calc(100% + 2px) !important; height: calc(100% + 2px) !important;
 background: transparent !important;
}

/* Standalone apparel inquiry: scoped to the apparel page. */
.gap-page #gap-inquiry { scroll-margin-top: 110px; text-align: left; }
.gap-page .gap-inquiry { width: 100%; max-width: 760px; margin: 28px auto 0; }
.gap-page .gap-inquiry__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; text-align: left; }
.gap-page .gap-inquiry__form-title { grid-column: 1 / -1; margin: 0 !important; color: #fff; font-size: 18px !important; font-weight: 700; }
.gap-page .gap-inquiry__form label { display: block; min-width: 0; margin: 0; }
.gap-page .gap-inquiry__form label:has(textarea),
.gap-page .gap-inquiry__form label:has(input[name="gap_phone"]) { grid-column: 1 / -1; }
.gap-page .gap-inquiry__form label > span { display: block; margin: 0 0 8px; color: #fff; font-size: 15px; font-weight: 600; }
.gap-page .gap-inquiry__form abbr { color: #f25899; text-decoration: none; }
body.gap-apparel-page .gap-page .gap-inquiry :is(input, textarea),
body.gap-apparel-page .gap-page .gap-inquiry :is(input, textarea):is(:hover, :focus, :active) {
 box-sizing: border-box; display: block; width: 100% !important; margin: 0 !important;
 padding: 14px !important; min-height: 52px; border: 1px solid rgba(255,255,255,.3) !important;
 border-radius: 10px !important; background: #1a0b36 !important; color: #fff !important;
 font: 500 16px/1.5 "Raleway", Arial, sans-serif !important; letter-spacing: normal !important;
 outline: none !important; box-shadow: none !important;
}
body.gap-apparel-page .gap-page .gap-inquiry :is(input, textarea):focus { border-color: #f25899 !important; }
body.gap-apparel-page .gap-page .gap-inquiry :is(input, textarea).is-invalid { border-color: #ff849c !important; }
body.gap-apparel-page .gap-page .gap-inquiry textarea[name="gap_message"] { height: 180px !important; min-height: 180px !important; max-height: none !important; resize: vertical; }
body.gap-apparel-page .gap-page .gap-inquiry input:-webkit-autofill,
body.gap-apparel-page .gap-page .gap-inquiry input:-webkit-autofill:is(:hover, :focus, :active),
body.gap-apparel-page .gap-page .gap-inquiry input:autofill {
 box-shadow: 0 0 0 1000px #1a0b36 inset !important; -webkit-text-fill-color: #fff !important; caret-color: #fff;
}
.gap-page .gap-inquiry__honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); pointer-events: none; }
.gap-page .gap-inquiry__error { grid-column: 1 / -1; color: #ffc3ce; background: rgba(255,100,130,.1); border-radius: 10px; padding: 12px 16px; margin: 0 !important; font-size: 15px !important; }
.gap-page .gap-inquiry [hidden] { display: none !important; }
body.gap-apparel-page .gap-page .gap-inquiry button.gap-inquiry__submit,
body.gap-apparel-page .gap-page .gap-inquiry button.gap-inquiry__submit:is(:hover, :focus, :active) {
 grid-column: 1 / -1; display: inline-flex !important; align-items: center; justify-content: center; gap: 10px;
 width: 100% !important; min-height: 52px !important; padding: 16px 20px !important; margin: 0 !important;
 background: #d71362 !important; color: #fff !important; border: 0 !important; border-radius: 12px !important;
 font: 700 16px/1.4 "Raleway", Arial, sans-serif !important; letter-spacing: normal !important; text-transform: none !important;
 box-shadow: none !important; transform: none !important; cursor: pointer;
 transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
body.gap-apparel-page .gap-page .gap-inquiry button.gap-inquiry__submit::before,
body.gap-apparel-page .gap-page .gap-inquiry button.gap-inquiry__submit::after { display: none !important; }
.gap-page .gap-inquiry__submit-label { color: #fff !important; background: none !important; padding: 0 !important; }
@media (hover: hover) and (pointer: fine) {
 body.gap-apparel-page .gap-page .gap-inquiry button.gap-inquiry__submit:not(:disabled):hover {
  background: #e81770 !important; transform: translateY(-2px) !important; box-shadow: 0 6px 18px rgba(215,19,98,.25) !important;
 }
}
body.gap-apparel-page .gap-page .gap-inquiry button.gap-inquiry__submit:focus-visible { outline: 2px solid #fff !important; outline-offset: 4px; }
body.gap-apparel-page .gap-page .gap-inquiry button.gap-inquiry__submit:not(:disabled):active { background: #bd0f55 !important; transform: none !important; box-shadow: none !important; }
body.gap-apparel-page .gap-page .gap-inquiry button.gap-inquiry__submit:disabled { cursor: wait; transform: none !important; }
.gap-page .gap-inquiry__spinner { display: none; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.3); border-top-color: #fff; border-radius: 50%; animation: gap-spin .7s linear infinite; }
.gap-page .gap-inquiry__submit.is-busy .gap-inquiry__spinner { display: block; }
.gap-page .gap-inquiry__success { margin-top: 24px; padding: 24px; border: 1px solid rgba(255,255,255,.3); border-radius: 16px; }
.gap-page .gap-inquiry__success .gap-sent { margin: 0 auto; text-align: center; }
.gap-page .gap-card { grid-template-rows: auto auto auto 1fr; }
.gap-page .gap-card__view { align-self: end; }
@media (max-width: 599px) {
 .gap-page .gap-inquiry__form { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}
@media (prefers-reduced-motion: reduce) {
 body.gap-apparel-page .gap-page .gap-inquiry button.gap-inquiry__submit,
 body.gap-apparel-page .gap-page .gap-inquiry button.gap-inquiry__submit:is(:hover, :focus, :active) { transition: none !important; transform: none !important; }
}

/* Align the inquiry introduction and form as one responsive section. */
.gap-page .gap-cta#gap-inquiry {
 display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.5fr);
 align-items: start; gap: 48px; padding: 48px !important; box-sizing: border-box;
}
.gap-page #gap-inquiry .gap-cta__intro { min-width: 0; padding-top: 4px; }
.gap-page #gap-inquiry .gap-cta__intro .gap-eyebrow { margin: 0 0 18px !important; }
.gap-page #gap-inquiry .gap-cta__title { margin: 0 0 20px !important; text-align: left; font-size: clamp(30px, 3vw, 42px) !important; line-height: 1.15 !important; }
.gap-page #gap-inquiry .gap-cta__text { width: auto; max-width: 100%; margin: 0 !important; text-align: left; line-height: 1.7 !important; }
.gap-page #gap-inquiry .gap-cta__note { max-width: 100%; margin: 20px 0 0 !important; text-align: left; }
.gap-page #gap-inquiry .gap-inquiry { min-width: 0; max-width: none; margin: 0; }
.gap-page #gap-inquiry .gap-inquiry__form { gap: 20px 18px; }
.gap-page #gap-inquiry .gap-inquiry__form-title { font-size: 20px !important; line-height: 1.4; }
body.gap-apparel-page .gap-page .gap-inquiry :is(input, textarea) { text-transform: none !important; }
.gap-page #gap-inquiry .gap-inquiry__error { line-height: 1.5; overflow-wrap: anywhere; }
@media (max-width: 900px) {
 .gap-page .gap-cta#gap-inquiry { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 32px !important; }
 .gap-page #gap-inquiry .gap-cta__intro { padding-top: 0; }
 .gap-page #gap-inquiry .gap-cta__intro .gap-eyebrow { margin-bottom: 12px !important; }
 .gap-page #gap-inquiry .gap-cta__title { margin-bottom: 14px !important; }
 .gap-page #gap-inquiry .gap-cta__note { margin-top: 12px !important; }
}
@media (max-width: 599px) {
 .gap-page .gap-cta#gap-inquiry { padding: 26px 18px !important; gap: 26px; border-radius: 18px; }
 .gap-page #gap-inquiry .gap-inquiry__form { grid-template-columns: minmax(0, 1fr); gap: 18px; }
 .gap-page #gap-inquiry .gap-inquiry__form-title { font-size: 18px !important; }
 .gap-page #gap-inquiry .gap-inquiry__form label > span { font-size: 15px; }
 .gap-page #gap-inquiry .gap-inquiry__success { padding: 18px 12px; }
}

/* Preserve typed letter case and remove required-marker decoration. */
body.gap-apparel-page .gap-page #gap-inquiry .gap-inquiry__form :is(input, textarea),
body.gap-apparel-page .gap-page #gap-inquiry .gap-inquiry__form :is(input, textarea):is(:hover, :focus, :active),
body.gap-apparel-page .gap-page #gap-inquiry .gap-inquiry__form :is(input, textarea)::placeholder {
 text-transform: none !important;
}
body.gap-apparel-page .gap-page #gap-inquiry .gap-inquiry__form abbr[title] {
 border: 0 !important; border-bottom: 0 !important;
 text-decoration: none !important; box-shadow: none !important;
}

/* One compact confirmation panel replaces the completed form. */
.gap-page #gap-inquiry .gap-inquiry__success {
 display: flex; align-items: flex-start; gap: 16px; margin: 0;
 padding: 24px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.2); border-radius: 16px;
}
.gap-page .gap-inquiry__success-icon { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; background: #d71362; }
.gap-page .gap-inquiry__success-icon svg { width: 24px; height: 24px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.gap-page .gap-inquiry__success-copy { min-width: 0; }
.gap-page .gap-inquiry__success-copy h3 { margin: 0 0 8px !important; color: #fff !important; font: 700 21px/1.3 "Raleway", Arial, sans-serif !important; text-transform: none !important; letter-spacing: normal !important; }
.gap-page .gap-inquiry__success-copy p { margin: 0 !important; color: #d7cce8; font-size: 16px !important; line-height: 1.6 !important; }
body.gap-apparel-page .gap-page button.gap-inquiry__new,
body.gap-apparel-page .gap-page button.gap-inquiry__new:is(:hover,:focus,:active) {
 margin: 16px 0 0 !important; padding: 10px 14px !important; min-height: 44px;
 border: 1px solid rgba(255,255,255,.3) !important; border-radius: 10px !important;
 background: transparent !important; color: #fff !important; box-shadow: none !important; transform: none !important;
 font: 600 14px/1.4 "Raleway", Arial, sans-serif !important; text-transform: none !important; letter-spacing: normal !important;
}
body.gap-apparel-page .gap-page button.gap-inquiry__new::before,
body.gap-apparel-page .gap-page button.gap-inquiry__new::after { display: none !important; }
body.gap-apparel-page .gap-page button.gap-inquiry__new:hover { background: rgba(255,255,255,.08) !important; }
@media(max-width:599px) {
 .gap-page #gap-inquiry .gap-inquiry__success { padding: 20px 16px; gap: 12px; }
 .gap-page .gap-inquiry__success-icon { flex-basis: 36px; width: 36px; height: 36px; }
 .gap-page .gap-inquiry__success-copy h3 { font-size: 18px !important; }
 .gap-page .gap-inquiry__success-copy p { font-size: 15px !important; }
}

/* Dedicated thank-you page. */
.gap-page.gap-confirmation-page { display: grid; place-items: center; min-height: 65vh; padding: 72px 24px; box-sizing: border-box; }
.gap-confirmation { width: 100%; max-width: 660px; padding: 48px; box-sizing: border-box; text-align: center; background: #1a0b36; border: 1px solid rgba(255,255,255,.18); border-radius: 24px; }
.gap-confirmation__icon { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 24px; border-radius: 50%; background: #d71362; }
.gap-confirmation__icon svg { width: 32px; height: 32px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.gap-page .gap-confirmation h1 { margin: 0 0 20px !important; color: #fff !important; font: 800 36px/1.2 "Raleway", Arial, sans-serif !important; text-transform: none !important; letter-spacing: -.02em !important; }
.gap-page .gap-confirmation__message { margin: 0 !important; color: #d7cce8; font-size: 17px !important; line-height: 1.7 !important; }
.gap-confirmation__actions { display: flex; align-items: center; flex-direction: column; gap: 20px; margin-top: 32px; }
.gap-page .gap-confirmation__actions .gap-btn { white-space: normal !important; padding: 14px 24px !important; }
.gap-page a.gap-confirmation__back { color: #fff !important; font-size: 15px; text-decoration: underline; text-underline-offset: 4px; }
@media(max-width:599px) {
 .gap-page.gap-confirmation-page { padding: 40px 18px; }
 .gap-confirmation { padding: 30px 20px; border-radius: 18px; }
 .gap-page .gap-confirmation h1 { font-size: 28px !important; }
 .gap-page .gap-confirmation__message { font-size: 16px !important; }
 .gap-page .gap-confirmation__actions .gap-btn { width: 100%; box-sizing: border-box; font-size: 15px !important; }
}

.gap-page .gap-confirmation__message { white-space: pre-line; overflow-wrap: anywhere; }
.gap-page .gap-confirmation h1 { overflow-wrap: anywhere; }

.gap-page .gap-inquiry__form .gap-inquiry__product-interest { grid-column: 1 / -1; }

/* Optional card styles: scoped to this plugin's product collection. */
.gap-page.gap-cards--minimal .gap-card { padding:0 0 16px; border:0; border-radius:0; box-shadow:none; background:transparent; }
.gap-page.gap-cards--minimal .gap-card__media { border-radius:12px !important; }
.gap-page.gap-cards--minimal .gap-card__title,
.gap-page.gap-cards--minimal .gap-card__description { margin-left:0 !important; margin-right:0 !important; max-width:100%; }
body.gap-apparel-page .gap-page.gap-cards--minimal .gap-card > button.gap-card__view { margin:0 !important; width:100% !important; border-bottom:1px solid rgba(255,255,255,.25) !important; border-radius:0; }

/* Overlay captions flow naturally, without fixed title offsets or empty footer space. */
.gap-page.gap-cards--overlay .gap-card { display:flex; flex-direction:column; gap:0; position:relative; isolation:isolate; padding:0; min-height:0; overflow:hidden; border:0; border-radius:20px; background:#100726; }
.gap-page.gap-cards--overlay .gap-card::before { content:''; display:block; flex-shrink:0; aspect-ratio:1 / 1; width:100%; }
.gap-page.gap-cards--overlay .gap-card__media { position:absolute; inset:0 0 auto; width:100%; height:calc(100% - 64px); aspect-ratio:auto; border-radius:0 !important; z-index:0; }
.gap-page.gap-cards--overlay .gap-card::after { content:''; position:absolute; inset:-1px; background:linear-gradient(180deg,transparent 25%,rgba(16,7,38,.3) 46%,#100726 80%); pointer-events:none; z-index:1; }
.gap-page.gap-cards--overlay .gap-card__body { z-index:2; color:#fff; pointer-events:none; }
.gap-page.gap-cards--overlay .gap-card__body button { pointer-events:auto; }
.gap-page.gap-cards--overlay .gap-card__zoom { top:12px; right:12px; bottom:auto; }
.gap-page.gap-cards--editorial .gap-card { display:flex; flex-direction:column; gap:0; padding:0; border:0; border-radius:18px; overflow:hidden; background:#f6f1ed; box-shadow:0 8px 24px rgba(0,0,0,.12); }
.gap-page.gap-cards--editorial .gap-card__media { flex-shrink:0; aspect-ratio:3 / 4; border-radius:0 !important; }
.gap-page.gap-cards--editorial .gap-card__body { color:#20112f; border-top:3px solid var(--gap-accent); }
.gap-page:is(.gap-cards--overlay,.gap-cards--editorial) .gap-card__body { position:relative; display:flex; flex-direction:column; gap:12px; padding:18px; flex:1; min-width:0; }
.gap-page:is(.gap-cards--overlay,.gap-cards--editorial) .gap-card .gap-card__title { margin:0 !important; min-height:2.9em; max-width:100%; color:inherit; }
.gap-page:is(.gap-cards--overlay,.gap-cards--editorial) .gap-card .gap-card__description { margin:0 !important; min-height:3.2em; color:#eee5f7 !important; }
.gap-page.gap-cards--editorial .gap-card .gap-card__description { color:#64576d !important; }
.gap-page:is(.gap-cards--overlay,.gap-cards--editorial) .gap-card__price { margin:0 !important; align-self:flex-start; color:inherit; background:rgba(130,95,150,.12); }
body.gap-apparel-page .gap-page:is(.gap-cards--overlay,.gap-cards--editorial) .gap-card__body > button.gap-card__view,
body.gap-apparel-page .gap-page:is(.gap-cards--overlay,.gap-cards--editorial) .gap-card__body > button.gap-card__view:is(:hover,:focus,:active) {
 display:flex !important; align-items:center; justify-content:space-between; gap:10px; width:100% !important; min-height:44px !important; margin:4px 0 0 !important; padding:10px 0 !important; border:0 !important; border-top:1px solid rgba(255,255,255,.18) !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; color:inherit !important; font:600 15px/1.4 var(--gap-display) !important; text-transform:none !important; letter-spacing:normal !important; transform:none !important;
}
body.gap-apparel-page .gap-page.gap-cards--editorial .gap-card__body > button.gap-card__view { border-top-color:rgba(32,17,47,.15) !important; }
body.gap-apparel-page .gap-page:is(.gap-cards--overlay,.gap-cards--editorial) .gap-card__body > button.gap-card__view::before,
body.gap-apparel-page .gap-page:is(.gap-cards--overlay,.gap-cards--editorial) .gap-card__body > button.gap-card__view::after { display:none !important; }
body.gap-apparel-page .gap-page.gap-cards--editorial .gap-card__body button:focus-visible { outline:2px solid #80204c !important; outline-offset:2px; }
@media(max-width:599px) {
 .gap-page:is(.gap-cards--overlay,.gap-cards--editorial) .gap-carousel.is-grid .gap-card { padding:0; gap:0; min-height:0; }
 .gap-page:is(.gap-cards--overlay,.gap-cards--editorial) .gap-carousel.is-grid .gap-card__body { padding:12px; gap:10px; }
 .gap-page:is(.gap-cards--overlay,.gap-cards--editorial) .gap-carousel.is-grid .gap-card .gap-card__title { min-height:4.2em; }
 .gap-page:is(.gap-cards--overlay,.gap-cards--editorial) .gap-carousel.is-grid .gap-card .gap-card__description { min-height:3em; }
 body.gap-apparel-page .gap-page:is(.gap-cards--overlay,.gap-cards--editorial) .gap-carousel.is-grid .gap-card__body > button.gap-card__view { font-size:13px !important; gap:4px; }
 .gap-page.gap-cards--minimal .gap-carousel.is-grid .gap-card { padding:0 0 12px; }
}

/* Theme headings must keep the light caption panel's dark text in every state. */
body.gap-apparel-page .gap-page.gap-cards--editorial .gap-card__body .gap-card__title,
body.gap-apparel-page .gap-page.gap-cards--editorial .gap-card__body .gap-card__details:is(:link,:visited,:hover,:focus,:active),
body.gap-apparel-page .gap-page.gap-cards--editorial .gap-card__body .gap-card__details { color:#20112f !important; }

/* Image placeholders reserve the existing photo area and add no image requests. */
.gap-page .gap-image-status[hidden] { display:none !important; }
.gap-page .gap-image-status {
 position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center;
 overflow:hidden; padding:24px; box-sizing:border-box; pointer-events:none;
 background:#eee8f2; color:#5c476d; font:600 13px/1.5 var(--gap-display, sans-serif); text-align:center;
}
.gap-page .is-image-loading .gap-image-status::before {
 content:''; position:absolute; inset:0; background:linear-gradient(100deg,transparent 25%,rgba(255,255,255,.7) 50%,transparent 75%);
 transform:translateX(-100%); animation:gap-image-shimmer 1.8s ease-in-out infinite;
}
.gap-page .is-image-loading .gap-image-status::after {
 content:''; position:absolute; width:24px; height:24px; margin-top:-68px;
 border:2px solid rgba(92,71,109,.2); border-top-color:#80549a; border-radius:50%;
 animation:gap-image-spin 1s linear infinite;
}
.gap-page .is-image-error .gap-image-status { background:#f3edf3; }
.gap-page .gap-card__media.is-image-loading .gap-card__img--front,
.gap-page .gap-card__media.is-image-error .gap-card__img--front,
.gap-page .gap-card__img--hover:not(.is-image-ready) { opacity:0 !important; }
.gap-page .gap-product-gallery.is-image-loading .gap-lightbox__img,
.gap-page .gap-product-gallery.is-image-error .gap-lightbox__img { opacity:0 !important; }
.gap-page .gap-product-gallery .gap-lightbox__img { transition:opacity .35s ease; }
.gap-page .gap-product-gallery { min-height:240px; }
.gap-page .gap-product-gallery .gap-lightbox__nav { z-index:4; }
@keyframes gap-image-shimmer { to { transform:translateX(100%); } }
@keyframes gap-image-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) {
 .gap-page .is-image-loading .gap-image-status::before,
 .gap-page .is-image-loading .gap-image-status::after { animation:none; }
 .gap-page .gap-card__img,
 .gap-page .gap-product-gallery .gap-lightbox__img { transition:none !important; }
}
/* Card galleries preview the first three photos; details retain every photo. */
.gap-page .gap-card__img--preview { opacity:0; z-index:1; transition:opacity .7s ease; }
.gap-page .gap-card__img--preview.is-current.is-image-ready { opacity:1; z-index:2; }
.gap-page .gap-card__zoom { z-index:3; }
.gap-card__preview-dots { position:absolute; left:50%; bottom:12px; transform:translateX(-50%); z-index:3; display:flex; gap:6px; padding:6px 8px; border-radius:20px; background:rgba(16,7,38,.55); pointer-events:none; }
.gap-card__preview-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.45); }
.gap-card__preview-dot.is-current { background:#fff; }
@media (prefers-reduced-motion:reduce) { .gap-page .gap-card__img--preview { transition:none; } }

/* Photo dragging is separate from the explicit zoom control. */
.gap-page .gap-card__media { cursor:default; }
.gap-page .gap-card__media.has-preview-gallery { cursor:grab; touch-action:pan-y; user-select:none; }
.gap-page .gap-card__media.is-dragging { cursor:grabbing; }
.gap-page .gap-card__zoom { border:0; color:#fff; cursor:zoom-in; appearance:none; }
.gap-page .gap-card__zoom:focus-visible,
.gap-page .gap-card__media.has-preview-gallery:focus-visible { outline:3px solid #fff; outline-offset:-3px; }

/* Keep theme button colors from changing the zoom control in any state. */
.gap-page button.gap-card__zoom,
.gap-page button.gap-card__zoom:hover,
.gap-page button.gap-card__zoom:focus,
.gap-page button.gap-card__zoom:active {
 background:#100726 !important;
 color:#fff !important;
 border:0 !important;
}
.gap-page button.gap-card__zoom svg,
.gap-page button.gap-card__zoom svg * {
 color:inherit !important;
 stroke:currentColor !important;
 fill:none !important;
}

/* Center both gallery arrows independently of the theme font and button states. */
body.gap-apparel-page .gap-product-gallery button.gap-lightbox__nav:not([hidden]) {
 display:flex !important;
 align-items:center !important;
 justify-content:center !important;
 box-sizing:border-box !important;
 margin:0 !important;
 padding:0 !important;
 top:50% !important;
 transform:translateY(-50%) !important;
}
body.gap-apparel-page .gap-product-gallery button.gap-lightbox__nav[hidden] { display:none !important; }
.gap-page .gap-lightbox__nav svg {
 display:block;
 flex:none;
 width:24px;
 height:24px;
 margin:0;
 padding:0;
 fill:none;
 stroke:currentColor;
 stroke-width:1.5;
 stroke-linecap:round;
 stroke-linejoin:round;
 pointer-events:none;
}

/* Image dimensions must not resize or reposition the product modal. */
.gap-page .gap-product-dialog {
 height:min(600px, calc(100dvh - 48px));
 grid-template-columns:repeat(2, minmax(0, 1fr));
 grid-template-rows:minmax(0, 1fr);
 overflow:hidden;
}
.gap-page .gap-product-gallery { min-height:0; overflow:hidden; }
.gap-page .gap-product-gallery .gap-lightbox__img {
 position:absolute;
 inset:0;
 width:100% !important;
 height:100% !important;
 max-height:none !important;
 margin:0 !important;
}
.gap-page .gap-product-copy { min-height:0; overflow:auto; }
@media (max-width:767px) {
 .gap-page .gap-product-dialog {
  height:min(820px, calc(100dvh - 24px));
  grid-template-columns:minmax(0, 1fr);
  grid-template-rows:minmax(0, 55%) minmax(0, 1fr);
 }
}
