/* Alliance shop — consistent with the main Alliance brand pages */
#view-shop{background:var(--color-bg-light,#f8f9fc);color:var(--color-navy-dark,#0a1128);min-height:70vh;font-family:var(--font-sans,Arial,sans-serif)}
#view-shop *{box-sizing:border-box}
#view-shop .container{max-width:var(--container-max-width,1240px);margin-inline:auto;padding-inline:clamp(20px,4vw,36px)}
#view-shop .shop-hero{padding:calc(var(--header-height,80px) + 42px) 0 65px;background:var(--color-primary-dark,#060b18);border-bottom:1px solid rgba(255,255,255,.09);color:white;position:relative;overflow:hidden}
#view-shop .shop-hero:after{content:'';position:absolute;right:-120px;bottom:-240px;width:450px;height:450px;border-radius:50%;border:85px solid rgba(255,0,85,.055);pointer-events:none}
#view-shop .shop-hero-content{position:relative;z-index:1}
#view-shop .shop-eyebrow{display:block;color:var(--color-brand-pink,#ff0055);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:800}
#view-shop .shop-hero h1,#view-shop .shop-heading h2,#view-shop .shop-product h3,#view-shop .shop-order-dialog h2{font-family:var(--font-display,Oswald,sans-serif);line-height:1.1;text-transform:uppercase}
#view-shop .shop-hero h1{font-size:clamp(43px,6vw,76px);margin:13px 0 16px;letter-spacing:.015em;color:white}
#view-shop .shop-hero h1 span{color:var(--color-brand-pink,#ff0055)}
#view-shop .shop-hero p{max-width:570px;color:#cbd5e1;font-size:16px;line-height:1.75;margin:0 0 25px}
#view-shop .shop-primary-link,#view-shop .shop-request-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;text-decoration:none;border-radius:6px;background:var(--color-brand-pink,#ff0055);color:white;font:800 12px var(--font-sans,Arial,sans-serif);letter-spacing:.07em;padding:15px 22px;cursor:pointer;transition:background .2s,transform .2s}
#view-shop .shop-primary-link:hover,#view-shop .shop-request-btn:hover{background:#df0048;transform:translateY(-1px)}
#view-shop .shop-collection{padding:66px 0 84px;background:var(--color-bg-light,#f8f9fc)}
#view-shop .shop-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 28px}
#view-shop .shop-heading h2{font-size:clamp(34px,4.2vw,50px);margin:9px 0 0;color:#0a1128}
#view-shop .shop-heading p{color:#64748b;font-size:13px;margin:0 0 6px}
#view-shop .shop-products{display:flex;flex-direction:column;gap:26px}
#view-shop .shop-product{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:stretch;overflow:hidden;background:white;border:1px solid var(--color-border-light,#e2e8f0);border-radius:14px;box-shadow:0 8px 28px rgba(10,17,40,.045)}
#view-shop .shop-gallery{background:#f1f3f7;min-width:0;display:flex;flex-direction:column;padding:22px;gap:13px}
#view-shop .shop-gallery-main{height:435px;width:100%;background:#f2f3f6;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}
#view-shop .shop-gallery-main img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
#view-shop .shop-gallery-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0;background:transparent}
#view-shop .shop-gallery-thumb{min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;background:white;border:1px solid #e2e8f0;border-radius:7px;padding:5px;cursor:pointer;color:#334155;transition:border-color .2s}
#view-shop .shop-gallery-thumb img{width:100%;height:65px;object-fit:contain;border-radius:3px;background:#f5f6f8}
#view-shop .shop-gallery-thumb span{font:700 9px var(--font-sans,Arial,sans-serif);letter-spacing:0;white-space:normal;text-align:center;line-height:1.35}
#view-shop .shop-gallery-thumb.is-active,#view-shop .shop-gallery-thumb:focus-visible{border:2px solid #ff0055;outline-offset:2px}
#view-shop .shop-product-copy{min-width:0;padding:clamp(24px,3.5vw,45px);display:flex;flex-direction:column;align-items:flex-start}
#view-shop .shop-item-kicker{color:#e0004c;font-size:11px;font-weight:800;letter-spacing:.13em}
#view-shop .shop-product h3{font-size:clamp(31px,3.6vw,46px);margin:12px 0 12px;color:#0a1128}
#view-shop .shop-product-copy>p{color:#475569;font-size:14px;line-height:1.7;margin:0 0 12px}
#view-shop .shop-product-copy .shop-tech{font-size:12px;color:#64748b;line-height:1.7;margin-bottom:15px}
#view-shop .shop-color{display:flex;align-items:center;gap:9px;margin:4px 0 12px;color:#25334c;font-size:12px;font-weight:700}
#view-shop .shop-swatch{height:17px;width:17px;border-radius:100%;background:#101c3e;border:1px solid #cbd5e1;box-shadow:0 0 0 2px #fff}
#view-shop .shop-sizes{font-size:12px;color:#334155;line-height:1.65;margin:0 0 13px}
#view-shop .shop-sizes span{color:#64748b}
#view-shop .shop-size-guide{width:100%;margin:0 0 16px;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:12px 0}
#view-shop .shop-size-guide summary{color:#10294a;cursor:pointer;font-size:12px;font-weight:800}
#view-shop .shop-size-scroll{overflow-x:auto;margin:12px 0 6px}
#view-shop .shop-size-guide table{border-collapse:collapse;min-width:490px;width:100%;font-size:11px;color:#1e293b}
#view-shop .shop-size-guide th,#view-shop .shop-size-guide td{padding:8px 5px;text-align:center;border-bottom:1px solid #e2e8f0}
#view-shop .shop-size-guide p{font-size:11px;color:#64748b;line-height:1.5;margin:9px 0 0}
#view-shop .shop-item-price{font:800 29px var(--font-sans,Arial,sans-serif);color:#0a1128;margin:auto 0 14px;padding-top:6px}
#view-shop .shop-request-btn{width:100%}
#view-shop .shop-price-note{display:block;text-align:center;width:100%;font-size:11px;color:#64748b;margin-top:11px}
#view-shop .shop-note{margin-top:28px;padding:20px 24px;border:1px solid #e2e8f0;border-left:3px solid #ff0055;border-radius:8px;background:white}
#view-shop .shop-note strong{font-size:12px;color:#0a1128;letter-spacing:.07em}
#view-shop .shop-note p{color:#475569;font-size:13px;line-height:1.6;margin:7px 0 0}
/* Existing order submission form: retain all IDs and functionality. */
.shop-order-backdrop[hidden]{display:none!important}
.shop-order-backdrop{position:fixed;inset:0;z-index:99999;background:rgba(3,9,25,.77);display:flex;justify-content:center;align-items:center;overflow:auto;padding:18px}
.shop-order-dialog{background:white;color:#0a1128;width:100%;max-width:475px;max-height:95vh;overflow-y:auto;padding:30px;border-radius:13px;position:relative}
.shop-order-dialog h2{font-size:33px;margin:10px 0 20px}
.shop-order-dialog form{display:grid;gap:8px}
.shop-order-dialog label{font-size:12px;font-weight:800;color:#1e293b}
.shop-order-dialog input,.shop-order-dialog select,.shop-order-dialog textarea{width:100%;background:#fff;border:1px solid #cbd5e1;color:#0a1128;border-radius:6px;padding:11px;font:inherit;margin-bottom:6px}
.shop-order-close{position:absolute;top:11px;right:14px;background:transparent;border:0;font-size:28px;cursor:pointer;color:#0a1128}
.shop-order-total{padding:12px 15px;background:#f1f5f9;border-radius:7px;font-weight:800}
.shop-order-caption{color:#64748b;font-size:11px;line-height:1.5;text-align:center}
.shop-order-caption[data-state=error]{color:#a50033;font-weight:700}
.shop-order-caption[data-state=success]{color:#146d41;font-weight:700}
.shop-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:850px){#view-shop .shop-product{grid-template-columns:1fr}#view-shop .shop-gallery-main{height:480px}#view-shop .shop-product-copy{padding:28px}#view-shop .shop-item-price{margin-top:10px}}
@media(max-width:540px){#view-shop .shop-hero{padding:calc(var(--header-height,80px) + 25px) 0 48px}#view-shop .shop-collection{padding:44px 0 65px}#view-shop .shop-heading{display:block}#view-shop .shop-heading p{margin-top:10px}#view-shop .shop-gallery{padding:11px;gap:9px}#view-shop .shop-gallery-main{height:310px}#view-shop .shop-gallery-controls{gap:5px}#view-shop .shop-gallery-thumb{padding:4px}#view-shop .shop-gallery-thumb img{height:48px}#view-shop .shop-gallery-thumb span{font-size:8px}#view-shop .shop-product-copy{padding:24px 19px}#view-shop .shop-product h3{font-size:35px}}

/* Family-focused shop: compact paired cards */
#view-shop .shop-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
#view-shop .shop-product{display:flex;flex-direction:column;min-width:0;border-radius:12px}
#view-shop .shop-gallery{padding:14px 14px 0;gap:0;position:relative;background:#fff}
#view-shop .shop-gallery-main{height:clamp(270px,31vw,410px);position:relative;background:#f3f5f8;border-radius:9px}
#view-shop .shop-gallery-main img{object-fit:contain}
#view-shop .shop-gallery-controls{display:none}
#view-shop .shop-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:1px solid #dce1e8;background:rgba(255,255,255,.94);color:#101a31;display:grid;place-items:center;font-size:29px;line-height:1;cursor:pointer;z-index:2;box-shadow:0 2px 10px #101a3112}
#view-shop .shop-gallery-prev{left:10px}
#view-shop .shop-gallery-next{right:10px}
#view-shop .shop-gallery-arrow:hover{color:#ff0055;border-color:#ff0055}
#view-shop .shop-gallery-dots{position:absolute;bottom:12px;left:0;right:0;z-index:2;display:flex;justify-content:center;gap:9px;pointer-events:none}
#view-shop .shop-gallery-dot{pointer-events:auto;width:8px;height:8px;border:0;border-radius:100%;padding:0;background:#aab3c2;cursor:pointer;transition:background .2s,transform .2s}
#view-shop .shop-gallery-dot.is-active{background:#ff0055;transform:scale(1.3)}
#view-shop .shop-product-copy{padding:24px 26px 27px;flex:1}
#view-shop .shop-product h3{font-size:clamp(29px,3vw,37px);margin:8px 0 10px}
#view-shop .shop-item-price{margin:auto 0 12px;padding-top:13px;font-size:27px}
#view-shop .shop-order-size-guide{margin-bottom:6px}
#view-shop .shop-order-size-guide .shop-size-guide{margin:4px 0 10px}
#view-shop .shop-order-size-guide .shop-size-guide table{min-width:490px}
@media(max-width:740px){#view-shop .shop-products{grid-template-columns:1fr;gap:18px}#view-shop .shop-gallery-main{height:360px}#view-shop .shop-product-copy{padding:22px}}
@media(max-width:420px){#view-shop .shop-gallery-main{height:295px}#view-shop .shop-gallery-arrow{width:33px;height:33px}}

/* Landscape gallery and clear, aligned two-product storefront */
#view-shop .shop-collection{background:#f8f9fc;padding:48px 0 68px}
#view-shop .shop-heading{margin-bottom:22px;align-items:center}
#view-shop .shop-heading h2{font-size:clamp(32px,3.6vw,44px)}
#view-shop .shop-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
#view-shop .shop-product{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid #e6eaf1;border-radius:12px;box-shadow:0 6px 20px rgba(7,18,40,.055)}
#view-shop .shop-gallery{width:100%;padding:12px 12px 0;background:white}
#view-shop .shop-gallery-main{width:100%;height:auto;aspect-ratio:16/10;background:#eff2f6;border-radius:8px;overflow:hidden;position:relative}
#view-shop .shop-gallery-main img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
#view-shop .shop-gallery-controls{display:none}
#view-shop .shop-product-copy{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:20px 22px 23px;flex:1}
#view-shop .shop-item-kicker{font-size:10px;letter-spacing:.13em}
#view-shop .shop-product h3{margin:7px 0 8px;font-size:clamp(27px,2.65vw,35px);line-height:1.1}
#view-shop .shop-product-copy>p{margin:0 0 12px;font-size:13px;line-height:1.6;min-height:42px;color:#526075}
#view-shop .shop-color{margin:0 0 13px;font-size:12px}
#view-shop .shop-item-price{margin:auto 0 12px;padding-top:0;font-size:25px}
#view-shop .shop-request-btn{width:100%;min-height:45px}
#view-shop .shop-price-note{margin-top:8px;font-size:10px}
#view-shop .shop-gallery-arrow{height:34px;width:34px}
#view-shop .shop-gallery-dots{bottom:11px}
#view-shop .shop-note{margin-top:22px;padding:17px 20px}
@media(max-width:740px){#view-shop .shop-products{grid-template-columns:1fr;gap:18px}#view-shop .shop-gallery-main{height:auto;aspect-ratio:16/10}#view-shop .shop-product-copy{padding:19px 20px 22px}#view-shop .shop-product-copy>p{min-height:0}}

/* Oct 18: fixed card nesting and compact, aligned 2-column Alliance shop */
#view-shop .shop-collection{background:#f8f9fc;padding:48px 0 78px}
#view-shop .shop-heading{display:flex;align-items:end;justify-content:flex-start;margin-bottom:25px}
#view-shop .shop-products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:26px!important;align-items:stretch;width:100%}
#view-shop .shop-products>.shop-product{min-width:0;width:100%;max-width:none;margin:0;display:flex!important;flex-direction:column!important;overflow:hidden;border:1px solid #e7eaf0;border-radius:12px;background:#fff;box-shadow:0 7px 22px rgba(10,17,40,.05)}
#view-shop .shop-product .shop-gallery{display:block!important;width:100%;margin:0;padding:0!important;min-width:0;background:#fff!important}
#view-shop .shop-gallery-main{width:100%;height:auto!important;aspect-ratio:3/2!important;position:relative;display:block!important;margin:0!important;padding:0!important;background:#fff!important;border-radius:0!important;overflow:hidden}
#view-shop .shop-gallery-main>img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;background:#fff}
#view-shop .shop-gallery-controls{display:none!important}
#view-shop .shop-gallery-arrow{z-index:3}
#view-shop .shop-gallery-dots{z-index:3;bottom:14px}
#view-shop .shop-product-copy{display:flex!important;flex-direction:column!important;flex:1;padding:21px 24px 25px!important;align-items:flex-start!important;text-align:left;min-width:0;width:100%}
#view-shop .shop-product-copy>p{width:100%;min-height:0;max-width:48ch;margin:2px 0 14px;font-size:13px;line-height:1.55}
#view-shop .shop-item-kicker{font-size:10px}
#view-shop .shop-product h3{margin:6px 0 7px;font-size:clamp(25px,2.5vw,32px)}
#view-shop .shop-color{margin:0 0 9px}
#view-shop .shop-item-price{margin:auto 0 13px!important;padding-top:4px;font-size:25px}
#view-shop .shop-request-btn{width:100%;max-width:100%;min-height:45px}
#view-shop .shop-price-note{font-size:10px;margin-top:8px}
@media(max-width:760px){#view-shop .shop-products{grid-template-columns:1fr!important;gap:20px!important}#view-shop .shop-gallery-main{aspect-ratio:3/2!important}#view-shop .shop-product-copy{padding:20px!important}}

/* Full-bleed merch gallery images: no inset/border or letterboxing */
#view-shop .shop-product .shop-gallery,
#view-shop .shop-gallery-main {padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important;}
#view-shop .shop-gallery-main {border-radius:0!important;overflow:hidden!important;}
#view-shop .shop-gallery-main > img {display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;background:transparent!important;border:0!important;border-radius:0!important;}

/* Keep the entire merchandise image visible, including hems, sleeves and models. */
#view-shop .shop-gallery-main > img {
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff !important;
}


/* Alliance merch portrait galleries — images supplied at approximately 4:5. */
#view-shop .shop-product .shop-gallery-main {
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 5 !important;
  overflow:hidden !important;
  background:#fff !important;
  border:0 !important;
  border-radius:0 !important;
}
#view-shop .shop-gallery-main > img {
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center !important;
  background:transparent !important;
}
/* All gallery images have 4:5 framing, so cover fills without meaningful clipping. */
#view-shop .shop-gallery-arrow {
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  box-sizing:border-box !important;
  width:38px !important;
  height:38px !important;
  padding:0 !important;
  line-height:0 !important;
  font-size:0 !important;
  border-radius:50% !important;
  text-align:center !important;
}
#view-shop .shop-gallery-arrow::before {
  content:"";
  display:block;
  flex:none;
  width:9px;
  height:9px;
  border-top:2px solid currentColor;
  border-right:2px solid currentColor;
}
#view-shop .shop-gallery-prev::before {transform:translateX(2px) rotate(-135deg)}
#view-shop .shop-gallery-next::before {transform:translateX(-2px) rotate(45deg)}
@media(max-width:420px){#view-shop .shop-gallery-arrow{width:34px !important;height:34px !important}}

/* Final portrait ratio fix: all eight supplied photos have a 4:5 aspect ratio. */
#view-shop .shop-product .shop-gallery-main {
  aspect-ratio: 4 / 5 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 0 !important;
}
#view-shop .shop-gallery-main > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff !important;
}
#view-shop .shop-gallery-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  z-index: 5 !important;
}
#view-shop .shop-gallery-prev { left: 13px !important; right: auto !important; }
#view-shop .shop-gallery-next { right: 13px !important; left: auto !important; }
#view-shop .shop-gallery-arrow::before {
  content: '' !important;
  display: block !important;
  width: 9px !important;
  height: 9px !important;
  border-top: 2px solid currentColor !important;
  border-right: 2px solid currentColor !important;
  flex-shrink: 0 !important;
}
#view-shop .shop-gallery-prev::before { transform: translateX(2px) rotate(-135deg) !important; }
#view-shop .shop-gallery-next::before { transform: translateX(-2px) rotate(45deg) !important; }
@media(max-width:760px){ #view-shop .shop-product .shop-gallery-main{aspect-ratio:4/5!important;} }

/* 2026-10-18: contained sizing table inside merchandise order dialog */
.shop-order-dialog,
.shop-order-dialog * { box-sizing: border-box; }
.shop-order-dialog { min-width: 0; max-width: min(475px, calc(100vw - 24px)); overflow-x: hidden; }
.shop-order-dialog form, .shop-order-size-guide, .shop-order-size-guide .shop-size-guide { min-width: 0; width: 100%; max-width: 100%; }
.shop-order-size-guide .shop-size-guide { display: block; padding: 10px 0; margin: 0 0 8px; border-top: 1px solid #e2e8f0; border-bottom: 1px solid #e2e8f0; }
.shop-order-size-guide summary { cursor: pointer; color: #10294a; font-weight: 750; font-size: 12px; }
.shop-order-size-guide .shop-size-scroll { display: block; width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; margin: 10px 0 6px; border: 1px solid #e2e8f0; border-radius: 7px; }
.shop-order-size-guide .shop-size-scroll table { border-collapse: collapse; display: table; table-layout: auto; width: max-content; min-width: 100%; max-width: none; font-size: 11px; color: #1e293b; margin: 0; }
.shop-order-size-guide .shop-size-scroll th, .shop-order-size-guide .shop-size-scroll td { box-sizing: border-box; padding: 8px 9px; text-align: center; white-space: nowrap; border-bottom: 1px solid #e2e8f0; }
.shop-order-size-guide .shop-size-scroll th:first-child { position: sticky; left: 0; z-index: 1; background: #f8fafc; text-align: left; box-shadow: 1px 0 #e2e8f0; }
.shop-order-size-guide .shop-size-guide p { font-size: 11px; line-height: 1.55; color: #64748b; margin: 8px 0 0; overflow-wrap: anywhere; }
@media(max-width:540px){ .shop-order-backdrop{padding:12px;} .shop-order-dialog{padding:22px 16px;max-width:100%;} .shop-order-size-guide .shop-size-scroll th, .shop-order-size-guide .shop-size-scroll td { padding:7px 8px; } }

/* Shop order dialog: separate size-chart scrolling area and sizing note */
#view-shop .shop-order-size-guide .shop-size-scroll {
  position: relative;
  margin-top: 12px !important;
  margin-bottom: 16px !important;
  padding-bottom: 8px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 #f8fafc;
}
#view-shop .shop-order-size-guide .shop-size-scroll::-webkit-scrollbar { height: 7px; }
#view-shop .shop-order-size-guide .shop-size-scroll::-webkit-scrollbar-track { background: #f8fafc; border-radius: 7px; }
#view-shop .shop-order-size-guide .shop-size-scroll::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 7px; }
#view-shop .shop-order-size-guide .shop-size-guide p {
  display: block !important;
  position: relative;
  clear: both;
  margin: 14px 0 12px !important;
  padding: 0 2px 0 !important;
  line-height: 1.65 !important;
  color: #64748b !important;
}
#view-shop .shop-order-size-guide .shop-size-guide {
  padding-bottom: 16px !important;
}

/* Beyond the Court: keep size-table footnote separate from the scroll area */
#view-shop .shop-order-size-guide .shop-size-guide { overflow: visible; }
#view-shop .shop-order-size-guide .shop-size-scroll { margin-bottom: 20px !important; }
#view-shop .shop-order-size-guide .shop-size-guide p { margin-top: 18px !important; padding-top: 2px !important; }
