/* One artwork frame and card layout across the catalogue, account and Pass. */
.product-custom-icon {display:block;width:100%;height:100%;max-width:100%;object-fit:contain;flex:0 0 auto}
.product-icon:has(.product-custom-icon),.included-product-icon:has(.product-custom-icon) {background:none!important;border:0;border-radius:0;box-shadow:none!important;overflow:visible;flex-shrink:0}
.included-product-icon:has(.product-custom-icon)::before {display:none}
.included-product-icon:has(.product-custom-icon)>span {display:block;width:100%;height:100%}
.product-media-fallback [data-product-media-fallback-icon] {width:112px;height:112px;display:grid;place-items:center}
.product-media-fallback .product-custom-icon {width:100%;height:100%}
.product-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;grid-auto-rows:1fr}
.products-results .product-grid:not(:has(>:nth-child(4))) {grid-template-columns:repeat(3,minmax(0,1fr));max-width:calc((100% - 54px) * .75 + 36px);margin-inline:auto}
.products-results .product-grid:not(:has(>:nth-child(3))) {grid-template-columns:repeat(2,minmax(0,1fr));max-width:calc((100% - 54px) * .5 + 18px)}
.product-grid .product-card {display:grid;grid-template-rows:112px auto 1fr;justify-items:center;align-content:start;gap:14px;min-height:278px;padding:24px 20px;border-radius:23px;text-align:center}
.product-grid .product-card .product-icon {width:112px;height:112px;margin:0}
.product-grid .product-card h3 {align-self:center;margin:0;min-height:2.5em;display:grid;place-items:center;font-size:20px;line-height:1.25;letter-spacing:-.025em;text-wrap:balance}
.product-grid .product-card p {margin:0;font-size:14px;line-height:1.55;color:var(--muted);text-wrap:pretty}
.product-card:focus-visible {outline:3px solid var(--blue);outline-offset:4px}
.pass-private-card .product-icon {width:80px;height:80px}
.products-results[hidden] {display:none!important}
.products-results {scroll-margin-top:calc(var(--header) + 24px);padding-top:36px}
.products-results .container {width:min(1320px,calc(100% - 40px))}
/* Keep the category illustrations and fit each action to one footprint. */
.products-portal {min-height:0;padding:48px 0 64px}
.products-portal-inner {width:min(1320px,calc(100% - 40px))}
.products-portal-title {font-size:clamp(38px,4.2vw,62px);margin-bottom:32px;line-height:1.08}
.products-category-card {display:grid;grid-template-rows:166px 1fr 56px;gap:14px;min-height:0;padding:18px;border-radius:25px;cursor:default}
.products-category-art {display:block;height:166px;width:100%;margin:0}
.products-category-art svg {display:block;width:100%;height:100%;min-width:0;min-height:0;max-height:100%}
.products-category-card p {width:100%;min-height:44px;margin:0;align-self:center;font-size:15px;line-height:1.45}
.products-category-action {width:100%;min-width:0;min-height:56px;height:56px;margin:0;padding:8px 30px;font-size:clamp(14px,1.2vw,17px);line-height:1.15;border-radius:17px;overflow:hidden;isolation:isolate}
.products-category-action>span {width:100%;text-wrap:balance}
.products-category-action .products-arrow {position:absolute;right:10px;width:14px;height:14px}
.products-category-action::after {content:"";position:absolute;inset:-40% -80%;pointer-events:none;background:linear-gradient(110deg,transparent 42%,#ffffff45 50%,transparent 58%);transform:translateX(-65%);animation:catalog-button-shine 7s ease-in-out infinite}
.products-category-card:nth-child(2) .products-category-action::after {animation-delay:-1.4s}
.products-category-card:nth-child(3) .products-category-action::after {animation-delay:-2.8s}
.products-category-card:nth-child(4) .products-category-action::after {animation-delay:-4.2s}
.products-category-action[aria-expanded="true"] {border-color:#fff;box-shadow:0 0 27px rgba(var(--accent-rgb),.55)}
.products-view-all-wrap {margin-top:28px}
.products-view-all {min-height:58px;font-size:17px;width:min(100%,320px);padding:12px 24px}
/* This detail layout also applies automatically to future products. */
.product-showcase {grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px;align-items:stretch}
.product-copy-panel {display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.product-title-row {display:flex;align-items:center;gap:18px}
.product-title-row .product-icon {width:100px;height:100px;flex:0 0 100px}
.product-title-row h1 {font-size:clamp(32px,3.5vw,52px);line-height:1.06;letter-spacing:-.045em;overflow-wrap:normal;text-wrap:balance}
.product-summary {margin-top:20px;font-size:17px;line-height:1.55}
.product-description {margin-top:20px;font-size:16px;line-height:1.6}
.product-classification {margin-top:17px;gap:8px}
.product-type-chip {font-size:12px;gap:7px;padding:5px 10px;min-height:34px}
.product-type-chip svg {width:20px;height:20px;flex:0 0 20px}
.product-classification .flag-chip {font-size:12px;padding:4px 0;min-height:34px;border:0;background:none;box-shadow:none;margin-inline:3px}
.product-classification .flag-chip img {width:23px;height:16px;object-fit:contain}
.product-features-block {margin-top:0}
.product-feature-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:none}
.product-feature,.product-feature.product-feature-compact {grid-template-columns:1fr;align-content:start;align-items:start;gap:8px;min-height:0;padding:12px 10px;border-radius:14px}
.product-feature-icon,.product-feature-compact .product-feature-icon {width:28px;height:28px;border-radius:8px}
.product-feature-icon svg,.product-feature-compact .product-feature-icon svg {width:20px;height:20px}
.product-feature strong,.product-feature-compact strong {font-size:12px;line-height:1.35;margin:0;text-wrap:balance}
.product-feature p {font-size:11px;line-height:1.45;margin:5px 0 0}
.product-feature.product-feature-compact {grid-template-columns:24px minmax(0,1fr);align-items:center;align-content:center;gap:6px;padding:12px 8px}
.product-feature-compact .product-feature-icon {width:24px;height:24px}
.product-media-card {align-self:start}
.product-questions-shell {margin-inline:auto;text-align:center}
.product-questions-shell h2 {display:table;margin:0 auto 18px;color:#e9ce87;background:linear-gradient(110deg,#c9a960 25%,#f2daa0 40%,#fff8dc 50%,#f2daa0 60%,#c9a960 75%);background-size:250% 100%;background-position:100% 0;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:catalog-gold-shine 8s ease-in-out infinite}
.product-question-button,.product-question-button:hover {position:relative;justify-content:center;text-align:center;padding:21px 48px}
.product-question-label {text-align:center}
.product-question-toggle {position:absolute;inset-inline-end:5px}
.product-question-answer p {text-align:center;max-width:850px;margin-inline:auto}
html[data-theme="light"] .product-questions-shell h2 {background-image:linear-gradient(110deg,#8d611c 25%,#ad7c27 40%,#daaa45 50%,#ad7c27 60%,#8d611c 75%)}
html[dir="rtl"] .products-category-action .products-arrow {right:auto;left:10px}
@keyframes catalog-button-shine {0%,65%{transform:translateX(-65%)}90%,100%{transform:translateX(65%)}}
@keyframes catalog-gold-shine {0%,60%{background-position:100% 0}88%,100%{background-position:0% 0}}
@media(max-width:1180px) {
  .product-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
  .products-results .product-grid:not(:has(>:nth-child(4))) {max-width:100%}
  .products-results .product-grid:not(:has(>:nth-child(3))) {max-width:calc((100% - 36px) * .666667 + 18px)}
  .product-showcase {gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
  .product-feature.product-feature-compact {grid-template-columns:1fr;align-content:start;gap:7px;padding:10px}
  .product-title-row {gap:14px}
  .product-title-row .product-icon {width:80px;height:80px;flex-basis:80px}
}
@media(max-width:980px) {
  .products-category-card {grid-template-rows:148px 1fr 56px}
  .products-category-art {height:148px}
  .products-portal-inner {max-width:760px}
  .products-category-action {font-size:16px}
  .product-showcase {grid-template-columns:1fr}
  .product-title-row h1 {font-size:clamp(30px,5vw,46px)}
  .product-media-card {width:100%;max-width:700px;justify-self:center}
  .product-feature.product-feature-compact {grid-template-columns:24px minmax(0,1fr);align-items:center}
}
@media(max-width:760px) {
  .product-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .products-results .product-grid:not(:has(>:nth-child(4))) {grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%}
  .product-grid .product-card {padding:20px 15px;grid-template-rows:96px auto 1fr}
  .product-grid .product-card .product-icon {width:96px;height:96px}
  .product-grid .product-card h3 {font-size:18px}
}
@media(max-width:580px) {
  .products-portal {padding:34px 0 44px}
  .products-portal-inner {width:calc(100% - 28px);max-width:430px}
  .products-portal-title {font-size:36px;margin-bottom:24px}
  .products-category-card {grid-template-rows:138px auto 54px;gap:12px;padding:18px 24px}
  .products-category-art {height:138px}
  .products-category-card p {min-height:44px;font-size:15px}
  .products-category-action {height:54px;min-height:54px;font-size:16px}
  .product-grid {grid-template-columns:1fr;gap:14px}
  .products-results .product-grid:not(:has(>:nth-child(4))) {grid-template-columns:1fr;max-width:100%}
  .products-results .container {width:calc(100% - 28px);max-width:430px}
  .product-grid .product-card {grid-template-rows:100px auto 1fr;min-height:0;padding:22px;gap:12px}
  .product-grid .product-card .product-icon {width:100px;height:100px}
  .product-grid .product-card h3 {min-height:0;font-size:21px}
  .product-title-row {gap:12px}
  .product-title-row .product-icon {width:64px;height:64px;flex-basis:64px}
  .product-title-row h1 {font-size:30px}
  .product-summary {font-size:16px}
  .product-description {font-size:15px}
  .product-feature-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-feature,.product-feature.product-feature-compact {grid-template-columns:28px minmax(0,1fr);gap:9px;padding:12px}
  .product-question-button,.product-question-button:hover {padding:18px 34px}
  .product-question-label {font-size:15px}
}
@media(prefers-reduced-motion:reduce) {
  .products-category-action::after,.product-questions-shell h2 {animation:none}
}
