/* Shared storefront corrections. Page-specific layouts keep their existing contracts. */
.forte-storefront { --store-orange:#fc8507; --store-border:#e5e5e5; --store-muted:#8c8c8c; }
.forte-storefront [hidden] { display:none!important; }
.forte-storefront :where(main,section,article,aside,form) { min-width:0; }
.forte-storefront :where(input,select,textarea,button) { font-family:inherit; }
.forte-storefront :where(a,button,input,select,textarea,summary):focus-visible { outline:2px solid #007de3; outline-offset:3px; }
.forte-storefront :where(dialog) { max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); overscroll-behavior:contain; }
.forte-search-page .forte-catalog__layout { display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px; }
.forte-search-page .forte-catalog__heading { margin:0 0 20px; }
.forte-search-page .forte-catalog__heading h1 { font-size:32px;line-height:42px;font-weight:700;color:#333; }
.forte-search-page .forte-catalog__heading small { color:#8c8c8c;font-size:18px;font-weight:400;white-space:nowrap; }
.forte-search-filters { align-self:start;background:#fff;border:1px solid #eee;border-radius:8px;padding:20px; }
.forte-search-filters form { display:grid;gap:20px; }
.forte-search-select { display:grid;gap:12px;margin:0;font-size:16px; }
.forte-search-select select { width:100%;height:44px;padding:8px;border:1px solid #ddd;border-radius:8px;font-size:14px;color:#333;background:#fff; }
.forte-search-toolbar { display:flex;align-items:center;min-height:48px;margin-bottom:12px;color:#8c8c8c; }
.forte-search-toolbar label { margin:0; }
.forte-search-toolbar select { max-width:100%;border:0;background:transparent;color:#333;font:inherit;padding:8px; }
.forte-async-content { position:relative; }
.forte-async-content.is-loading > :first-child { opacity:.6;transition:opacity .12s; }
.forte-async-progress { position:sticky;bottom:20px;z-index:8;width:max-content;max-width:calc(100% - 32px);margin:12px auto;padding:12px 18px;border-radius:10px;background:#333;color:#fff;box-shadow:0 3px 16px #0002; }
.forte-async-error { display:flex;align-items:center;gap:16px;position:sticky;bottom:16px;padding:16px;background:#fff3ef;border:1px solid #e5b6a3;border-radius:8px;color:#a33319; }
.forte-async-error button { border:1px solid currentColor;border-radius:6px;background:#fff;padding:8px 16px;color:inherit; }
.forte-vue-results { display:contents; }
/* Empty states are specific to their task and use the full content width. */
.is-dns-parity .compare-empty { display:grid;grid-template-columns:280px minmax(0,600px);grid-template-rows:auto auto auto;align-content:center;column-gap:48px;row-gap:12px;justify-content:center;width:100%;max-width:none;min-height:280px;padding:32px 40px;text-align:left;margin:0; }
.is-dns-parity .compare-empty .dns-empty-art { grid-column:1;grid-row:1/4;width:280px;height:200px;margin:0;align-self:center; }
.is-dns-parity .compare-empty h2 { grid-column:2;margin:0;font-size:24px;line-height:31px; }
.is-dns-parity .compare-empty > p:not(.compare-eyebrow) { grid-column:2;margin:0;max-width:520px;font-size:16px;line-height:24px; }
.is-dns-parity .compare-empty .compare-primary-btn { grid-column:2;justify-self:start;margin:0; }
.compare-empty .compare-empty-icon,.compare-empty .compare-eyebrow { display:none!important; }
.forte-storefront .forte-search-empty,.forte-storefront .forte-wishlist-empty { display:flex;flex-direction:row;justify-content:center;align-items:center;gap:48px;width:100%;min-height:320px;background:#fff;border-radius:8px;padding:32px!important;text-align:left!important; }
.forte-search-empty .dns-empty-art,.forte-wishlist-empty .dns-empty-art { width:280px;height:200px;margin:0;flex:none; }
.forte-search-empty h2,.forte-wishlist-empty h2 { font-size:24px;line-height:31px;color:#333;margin:0 0 12px; }
.forte-search-empty p,.forte-wishlist-empty p { color:#666;font-size:16px;line-height:24px;max-width:540px; }
.forte-wishlist-page .dns-list-tabs { margin-bottom:16px; }
.forte-wishlist-page .fc-card { width:100%; }
.is-dns-parity .forte-commerce-empty>p>a { display:inline!important;width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0;background:transparent!important;color:#007de3!important;box-shadow:none!important;font-size:inherit!important; }
.fcart-accessories__rail small { white-space:normal!important;line-height:18px;min-height:36px;overflow:visible;text-overflow:clip; }
[data-cart-app][data-v-app] [data-legacy-cart-upsell] { display:none; }
.forte-cart-upsell[data-legacy-cart-upsell] { display:none; }
.forte-pdp-dialog-actions a { text-align:center; }
.forte-gallery-modal__stage img { object-fit:contain;image-rendering:auto; }
/* The component picker uses one compact title above both columns. */
.pc-picker__dialog { display:flex;flex-direction:column; }
.pc-picker__title { flex:none;min-height:64px;display:flex;align-items:center;padding:16px 64px 16px 24px;border-bottom:1px solid #eee; }
.pc-picker__title h2 { margin:0;font-size:20px;line-height:28px;font-weight:700; }
.pc-picker__body { flex:1;min-height:0;height:auto;padding-top:16px!important; }
.pc-picker__header { position:static; }
.pc-picker__catalog { min-height:0; }
.pc-picker__chips button { min-height:36px;border-radius:8px;font-size:14px; }
.pc-picker-product__body dl { font-size:14px;line-height:20px; }
.pc-picker-product__buy strong { overflow-wrap:anywhere; }
/* Reusable service and editorial typography. */
.forte-storefront .ff-auth-page { min-height:510px; }
.forte-storefront .ff-auth-card { width:100%;max-width:420px;padding:32px;border-radius:12px; }
.forte-storefront .ff-auth-card h1 { font-size:24px;line-height:31px; }
.forte-storefront .ff-dialog--auth { max-width:360px;border-radius:12px;padding:28px 24px; }
.forte-storefront .ff-dialog--auth h2 { font-size:20px;line-height:28px; }
.forte-storefront .forte-status-page { padding:32px 0 48px; }
.forte-storefront .forte-status-page .forte-flow-container { max-width:1380px;width:calc(100% - 60px);padding:0; }
.forte-storefront .forte-status-card { margin:0;width:100%;max-width:560px;box-shadow:none; }
.forte-storefront .forte-status-card h1 { font-size:32px;line-height:42px; }
.forte-storefront .seo-discovery__header h1 { font-size:32px;line-height:42px; }
.forte-storefront .seo-discovery__shell { max-width:1380px; }
.forte-storefront .md-empty { padding:40px 24px; }
.forte-storefront .md-empty .dns-empty-art { margin:0 auto 20px; }
.md-empty>a.md-orange { display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:8px;color:#fff; }
.forte-popular-categories__heading>div>span { display:none; }
.forte-storefront .forte-popular-categories__grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.forte-storefront .forte-popular-categories__grid>a { min-height:160px; }
.forte-storefront .forte-popular-categories__grid>a>img { width:100px;height:100px;object-fit:contain; }
.forte-popular-categories__grid small { font-size:14px;color:#8c8c8c; }
@media(max-width:1400px) and (min-width:992px) {
 .forte-storefront .forte-status-page .forte-flow-container { max-width:1180px;width:calc(100% - 32px); }
}
@media(max-width:991px) {
 .forte-storefront .forte-catalog__heading h1,.forte-storefront .forte-directory__heading h1,.forte-storefront .dns-list-page__title,.forte-storefront .seo-discovery__header h1 { font-size:22px!important;line-height:29px!important; }
 .forte-storefront .forte-catalog__heading h1 :is(span,small) { font-size:inherit!important;line-height:inherit;font-weight:inherit; }
 .forte-search-page .forte-catalog__layout { grid-template-columns:minmax(0,1fr);gap:16px; }
 .forte-search-filters { padding:16px; }
 .forte-search-filters form { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
 .forte-search-filters form>.forte-check { align-self:center; }
 .is-product-page .store-mobile-nav { display:none!important; }
 .forte-storefront.is-product-page .forte-pdp-mobile-buy { bottom:0!important;padding-bottom:max(8px,env(safe-area-inset-bottom))!important;min-height:64px; }
 .forte-storefront.is-product-page { padding-bottom:calc(72px + env(safe-area-inset-bottom)); }
 .forte-pdp-mobile-buy__button { min-width:0!important;font-size:14px!important;white-space:nowrap; }
 .forte-storefront.is-product-page .forte-pdp-dock-price strong { font-size:18px;line-height:24px; }
 .pc-picker__title { min-height:58px;padding:14px 52px 14px 16px; }
 .pc-picker__body { padding-top:12px!important; }
 .pc-picker__filters { top:58px; }
 .forte-storefront .forte-popular-categories__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .forte-storefront .forte-status-page .forte-flow-container { width:100%;padding-inline:16px; }
 .forte-storefront .forte-status-card h1 { font-size:24px;line-height:31px; }
}
@media(max-width:575px) {
 .is-dns-parity .compare-empty { display:flex;flex-direction:column;gap:12px;min-height:350px;padding:24px 16px;text-align:center; }
 .is-dns-parity .compare-empty .dns-empty-art { width:220px;height:157px;margin:0; }
 .is-dns-parity .compare-empty h2,.forte-search-empty h2,.forte-wishlist-empty h2 { font-size:22px;line-height:29px; }
 .is-dns-parity .compare-empty .compare-primary-btn { align-self:center; }
 .forte-storefront .forte-search-empty,.forte-storefront .forte-wishlist-empty { flex-direction:column;gap:16px;text-align:center!important;padding:24px 16px!important; }
 .forte-search-empty .dns-empty-art,.forte-wishlist-empty .dns-empty-art { width:220px;height:157px; }
 .forte-storefront .forte-popular-categories__grid>a { min-height:120px;gap:10px; }
 .forte-storefront .forte-popular-categories__grid>a>img { width:64px;height:64px; }
 .forte-storefront .forte-popular-categories__grid>a>span>strong { font-size:14px;line-height:20px; }
 .forte-storefront .ff-auth-card { padding:24px 16px; }
 .forte-storefront .ff-dialog--auth { width:calc(100vw - 32px);max-height:calc(100dvh - 32px); }
 .forte-async-error { flex-wrap:wrap; }
 .forte-search-toolbar select { max-width:200px;font-size:14px; }
}
@media(max-width:359px) {
 .forte-search-filters form { grid-template-columns:1fr; }
 .forte-storefront .forte-popular-categories__grid { grid-template-columns:1fr; }
 .forte-pdp-mobile-buy__button { min-width:0!important; }
 .forte-storefront.is-product-page .forte-pdp-dock-price strong { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
 .forte-async-content.is-loading>:first-child { transition:none; }
}

.forte-storefront .compare-primary-btn { display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 24px;border:0;border-radius:8px;background:#fc8507;color:#fff;font-size:16px;font-weight:500;text-decoration:none; }
.forte-storefront .compare-primary-btn:hover { background:#e67700;color:#fff; }

.forte-popular-category { background:#fff;border:1px solid #eee;border-radius:12px;padding:20px; }
.forte-popular-category>a { display:flex;gap:16px;align-items:center;color:#333;min-height:120px; }
.forte-popular-category>a>img { width:100px;height:100px;object-fit:contain; }
.forte-popular-category>a>span { min-width:0;flex:1; }
.forte-popular-category>a>i { display:none; }
.forte-popular-category nav { display:grid;gap:10px;margin-top:16px; }
.forte-popular-category nav a { color:#333;font-size:14px;line-height:20px; }
.forte-popular-category a:hover { color:#fc8507; }
@media(max-width:991px){.forte-storefront .forte-popular-categories__grid { display:grid;overflow:visible; }.forte-popular-category{padding:16px;}.forte-popular-category>a{display:block;}.forte-popular-category>a>img{width:80px;height:80px;margin-bottom:12px;}}

@media(max-width:991px){.forte-storefront .ff-service-page h1{font-size:22px!important;line-height:29px!important;}}
@media(max-width:767px){.forte-storefront .ff-dialog--auth{min-height:0;align-self:center;max-height:calc(100dvh - 32px);}.forte-storefront .ff-dialog--auth h2{margin-right:24px;}}
[data-recovery-code] { display:grid;gap:16px; }

.forte-storefront .forte-status-card__icon,.forte-storefront .forte-status-card>span { display:none; }
.forte-storefront .forte-status-card form button { box-shadow:none;border-radius:8px;font-size:16px; }

/* Measured against the 1440px catalog: title 42px + 12px gap, tools 120px. */
.is-category-page .forte-catalog__heading { margin-bottom:12px; }
.is-category-page .forte-quick { min-height:65px; }
.is-category-page .forte-quick.is-expanded { flex-wrap:wrap; }
.is-category-page .forte-quick__chip { min-height:36px;padding:6px 12px; }
.is-category-page .forte-quick__more { margin-left:auto;min-height:36px;padding:6px 0 6px 12px; }
.is-category-page .forte-catalog-toolbar { min-height:55px; }
.is-category-page .forte-toolbar-select { font-size:14px; }
.is-category-page .cf-search { height:40px;border-radius:16px;margin-bottom:8px; }
.is-category-page .forte-guides { padding:16px 0; }
.is-category-page .forte-guides__track { scroll-padding-inline:16px; }
.is-category-page .forte-guide-card { flex:0 0 206px;min-width:206px;min-height:90px; }
.forte-choice-native { display:none!important; }
.forte-choice { display:inline-flex;min-width:0;vertical-align:middle; }
.forte-choice__trigger { display:inline-flex;align-items:center;gap:7px;min-width:0;min-height:32px;padding:4px 0;border:0;background:transparent;color:#337ab7;font:inherit;text-align:left;cursor:pointer; }
.forte-choice__trigger>span { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.forte-choice__trigger>i { flex:none;display:block;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:0 3px 4px 0; }
.forte-choice__trigger:hover { color:#fc8507; }
.forte-choice-dialog { position:fixed;margin:0;padding:8px 0;border:0;border-radius:12px;background:#fff;color:#333;box-shadow:0 8px 32px #0003;font:16px/22px "Forte UI",Arial,sans-serif;overflow:auto;overscroll-behavior:contain; }
.forte-choice-dialog::backdrop { background:transparent; }
.forte-choice-dialog header { display:none; }
.forte-choice-dialog [role=option] { display:flex;align-items:center;width:100%;min-height:44px;padding:11px 40px 11px 16px;border:0;background:#fff;color:#333;font:inherit;text-align:left;position:relative;cursor:pointer; }
.forte-choice-dialog [role=option]:hover,.forte-choice-dialog [role=option]:focus-visible { background:#f7f7f7;outline:none; }
.forte-choice-dialog [role=option].is-selected { color:#fc8507;background:#fff7ed; }
.forte-choice-dialog [role=option].is-selected::after { content:"";position:absolute;right:18px;width:7px;height:12px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px; }
.forte-choice-dialog button:disabled { opacity:.5;cursor:default; }
.store-header__profile { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:64px;width:48px;border-radius:0;background:transparent;color:#333;font-size:14px;line-height:20px; }
.store-header__profile .forte-ui-icon { width:24px;height:24px;color:#aaa; }
.store-header__profile:hover { color:#fc8507; }
.forte-gallery-modal__tools { display:flex;justify-content:center;align-items:center;gap:12px;padding:4px 16px;flex:none;min-height:40px;font-size:14px;color:#8c8c8c; }
.forte-gallery-modal__tools button { padding:6px 12px;border:1px solid #ddd;border-radius:8px;background:#fff;color:#333;font:inherit; }
.forte-gallery-modal__tools button:disabled { display:none; }
.forte-storefront .forte-gallery-modal { inset:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0; }
.forte-storefront .ff-primary:disabled,.forte-storefront .forte-status-card form button:disabled { background:#f1f1f1;color:#aaa;cursor:default;box-shadow:none; }
@media(min-width:992px) {
 .is-category-page .forte-quick { overflow:visible; }
}
@media(max-width:991px) {
 .is-category-page .forte-quick,.is-category-page .forte-quick.is-expanded { flex-wrap:nowrap;overflow-x:auto;min-height:52px; }
 .is-category-page .forte-quick__more { display:none; }
 .is-dns-parity.is-category-page .forte-catalog-toolbar .forte-toolbar-select>.forte-choice { display:inline-flex;max-width:100%; }
 .forte-toolbar-select .forte-choice__trigger>span { display:block; }
 .forte-toolbar-select .forte-choice__trigger { min-height:44px;color:#333;font-size:16px; }
 .forte-choice-dialog { inset:auto 0 0!important;width:100%!important;max-width:100%!important;max-height:85dvh!important;border-radius:16px 16px 0 0;padding:0 0 max(12px,env(safe-area-inset-bottom)); }
 .forte-choice-dialog::backdrop { background:#0006; }
 .forte-choice-dialog header { position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:16px;background:#fff;border-bottom:1px solid #eee; }
 .forte-choice-dialog header strong { font-size:20px;line-height:28px; }
 .forte-choice-dialog header button { border:0;background:transparent;color:#777;font-size:28px;line-height:28px;width:32px;height:32px;padding:0; }
 .forte-choice-dialog [role=option] { min-height:48px;padding:13px 48px 13px 20px; }
}
@media(max-width:767px) {
 .forte-storefront.is-product-page :is(.forte-pdp-dialog,.pdp-community-dialog) { max-width:100vw;max-height:100dvh; }
}
@media(prefers-reduced-motion:no-preference) {
 .forte-choice-dialog[open] { animation:forte-choice-in .12s ease-out; }
 @keyframes forte-choice-in { from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)} }
}
