/* Measured DNS card rhythm. Store data, identity and the filter are FORTE's. */
@font-face{font-family:"FORTE Card PT Sans";src:url('shrift/PT-Sans/pt-sans_regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"FORTE Card PT Sans";src:url('shrift/PT-Sans/pt-sans_bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* Cap the content, not just the image: 1080px list at 1440px and above. */
.forte-catalog .forte-catalog__container{max-width:1400px;padding:0 10px}
.forte-catalog .forte-catalog__layout{grid-template-columns:280px minmax(0,1fr);gap:20px}
.forte-products{min-width:0}
.fc-card{display:grid;grid-template-columns:200px minmax(0,1fr) 168px;grid-template-rows:auto auto auto 1fr;grid-template-areas:"image name buy" "image badges buy" "image stat buy" "image details buy";column-gap:24px;min-width:0;min-height:240px;padding:20px;background:#fff;border:0;border-radius:16px;box-shadow:0 1px 2px #0000001a;color:#333;font:400 16px/1.42857 "FORTE Card PT Sans",Arial,sans-serif;position:relative}
.fc-card *,.fc-dialog *{box-sizing:border-box}
.fc-card a,.fc-card button{font-family:inherit;text-decoration:none;transition:color .3s ease,background-color .2s ease,border-color .2s ease}
.fc-card button{cursor:pointer}
.fc-card button:disabled{cursor:wait;opacity:.65}
.fc-card :is(button,a,input):focus:not(:focus-visible){outline:none;box-shadow:none}
.fc-card :is(button,a,input):focus-visible{outline:2px solid #fc8507;outline-offset:3px}
.fc-card svg{display:inline-block;flex-shrink:0;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.fc-card__media{grid-area:image;width:200px;height:200px;position:relative;align-self:start}
.fc-card__image{display:flex;width:100%;height:100%;align-items:center;justify-content:center;touch-action:pan-y}
.fc-card__image img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:opacity .2s linear}
.fc-card__image img.is-loading{opacity:.45}
.fc-card__dots{position:absolute;bottom:0;left:4px;right:4px;display:flex;gap:4px;justify-content:center;overflow:hidden}
.fc-card__dots button{position:relative;width:18px;height:16px;flex:0 1 18px;padding:0;border:0;background:transparent;border-radius:4px}
.fc-card__dots button:after{content:"";position:absolute;left:0;right:0;top:7px;height:3px;border-radius:2px;background:#ddd;transition:background .2s}
.fc-card__dots button[aria-pressed=true]:after{background:#fc8507}
.fc-card__zoom,.fc-card__code{position:absolute;display:inline-flex;align-items:center;justify-content:center;gap:4px;border:0;border-radius:6px;background:#fffffff2;color:#8c8c8c;opacity:0;transition:opacity .2s linear!important}
.fc-card__zoom{right:0;top:0;width:32px;height:32px}
.fc-card__code{left:0;bottom:18px;padding:3px 6px;font-size:12px;line-height:18px}
.fc-card__code svg{width:14px;height:14px}
.fc-card:hover .fc-card__zoom,.fc-card:hover .fc-card__code,.fc-card__media:focus-within :is(.fc-card__zoom,.fc-card__code){opacity:1}
.fc-card__name{grid-area:name;margin-bottom:8px;min-width:0}
.fc-card__title{display:block;color:#000;font-size:16px;font-weight:700;line-height:22px;overflow-wrap:anywhere}
.fc-card__title:hover{color:#fc8507}
.fc-card__short-specs{display:none}
.fc-card__badges{grid-area:badges;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;align-self:start;min-width:0}
.fc-card__badges span{padding:3px 8px;border-radius:6px;font-size:12px;line-height:18px;font-weight:400;white-space:nowrap}
.fc-card__hit{color:#1c9c48;background:#edf9f0}
.fc-card__discount{color:#ec6d08;background:#fff2e6}
.fc-card__stat{grid-area:stat;display:flex;flex-wrap:wrap;gap:4px;align-items:center;align-self:start;min-width:0}
.fc-card__compare{display:inline-flex;align-items:center;gap:6px;min-height:28px;width:90px;flex:0 0 90px;margin:0;color:#4e4e4e;font-size:14px;line-height:18px;font-weight:400;white-space:nowrap;cursor:pointer}
.fc-card__compare b{font-weight:400}
.fc-card__compare input.compare-checkbox{appearance:none;-webkit-appearance:none;position:relative;display:block;flex:0 0 16px;width:16px;height:16px;margin:0;opacity:1;border:1px solid #afafaf;border-radius:4px;background:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.fc-card__compare input:checked{background:#fc8507;border-color:#fc8507}
.fc-card__compare input:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.fc-card__compare input:disabled{cursor:wait;opacity:.5}
.fc-card__stat>a{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:5px 8px;border-radius:8px;background:#f7f7f7;color:#4e4e4e;font-size:14px;line-height:18px;white-space:nowrap;flex-shrink:0}
.fc-card__stat>a:hover{background:#eee;color:#fc8507}
.fc-card__rating .fc-icon-star{color:#fc8507;width:16px;height:16px;fill:currentColor;stroke-width:0}
.fc-card__separator{color:#ccc}
.fc-card__questions svg{width:18px;height:18px}
.fc-card__details{grid-area:details;min-width:0;margin-top:12px}
.fc-card__specs{margin:0;font-size:14px;line-height:20px}
.fc-card__specs>div{display:flex;gap:4px;min-width:0}
.fc-card__specs dt{flex-shrink:0;margin:0;color:#8c8c8c;font-weight:400}
.fc-card__specs dd{margin:0;color:#333;font-weight:400;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-card__spec-link{display:inline-block;color:#007de3;font-size:14px;line-height:20px;margin-top:4px}
.fc-card__spec-link:hover{color:#fc8507}
.fc-card__commerce{grid-area:buy;align-self:start;display:flex;flex-direction:column;align-items:flex-end;min-width:0;margin-bottom:88px}
.fc-card__price{display:flex;flex-direction:column;align-items:flex-end;text-align:right;justify-content:center;min-height:44px;max-width:100%}
.fc-card__price strong{display:block;font-size:20px;font-weight:700;line-height:26px;white-space:nowrap}
.fc-card__price del{display:block;font-size:14px;line-height:18px;color:#8c8c8c}
.fc-card__price .fc-card__price-request{white-space:normal;font-size:18px}
.fc-card__payment{display:block;max-width:100%;padding:0;border:0;background:transparent;color:#333;font-size:14px;line-height:18px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-align:inherit}
.fc-card__payment:hover{color:#fc8507}
.fc-card__buy-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;width:144px;max-width:100%;margin-top:8px}
.fc-card .fc-card__favorite,.fc-card .fc-card__buy{position:relative;display:inline-flex;align-items:center;justify-content:center;height:44px;min-width:0;padding:10px 12px;border:1px solid #d2d1d1;border-radius:12px;background:#fff;color:#333;font-size:16px;font-weight:400;line-height:22px;white-space:nowrap}
.fc-card .fc-card__favorite{width:44px;padding:0;border-color:transparent;background:#f7f7f7;color:#afafaf}
.fc-card .fc-card__favorite>i{display:none}
.fc-card .fc-card__favorite:before{content:"";display:block;width:24px;height:24px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round' d='M12 20S3 14.5 3 8.5C3 3.5 9 2 12 6c3-4 9-2.5 9 2.5C21 14.5 12 20 12 20Z'/%3E%3C/svg%3E") center/contain no-repeat}
.fc-card .fc-card__favorite.is-active:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20S3 14.5 3 8.5C3 3.5 9 2 12 6c3-4 9-2.5 9 2.5C21 14.5 12 20 12 20Z'/%3E%3C/svg%3E")}
.fc-card .fc-card__favorite:hover{background:#efefef;transform:none;color:#fc8507}
.fc-card__favorite.is-wishlist-loading:before{opacity:0}
.fc-card__buy>.fc-icon-cart,.fc-card__buy>.fc-icon-check{display:none}
.fc-card .fc-card__buy.is-in-cart{color:#239244;border-color:#b9dbbd;background:#f4fbf4}
.fc-card .fc-card__buy.is-in-cart .fc-icon-check{display:block;width:18px;height:18px;margin-right:5px}
.fc-card .fc-card__buy.is-in-cart{font-size:14px;padding:10px 6px}
.fc-card .fc-card__buy.is-cart-loading>*{visibility:hidden}
.fc-card__buy.is-cart-loading:after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:fc-spin .6s linear infinite}
.fc-card__availability{grid-area:buy;align-self:end;min-width:0;padding-top:14px;text-align:right;color:#8c8c8c;font-size:14px;line-height:18px}
.fc-card__availability>div+div{margin-top:4px}
.fc-card__availability button,.fc-card__availability a{display:inline;padding:0;border:0;background:transparent;color:#007de3;font-size:inherit;line-height:inherit;text-align:inherit}
.fc-card__availability button:hover,.fc-card__availability a:hover{color:#fc8507}
.fc-card__unavailable span,.fc-card__unavailable a{display:block}
@media(hover:hover){.fc-card:hover .fc-card__buy.add-to-cart{color:#fff;border-color:#fc8507;background:linear-gradient(to top,#fc8507,#ffa218)}}
.fc-card .fc-card__buy:active{transform:translateY(1px)}

/* Overlays never participate in the card grid. */
html:has(.fc-dialog[open]){overflow:hidden;scrollbar-gutter:stable}
.fc-dialog{display:none;width:min(820px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:28px;border:0;border-radius:16px;margin:auto;background:#fff;color:#333;box-shadow:0 12px 60px #0003;font:400 16px/1.5 "FORTE Card PT Sans",Arial,sans-serif;overscroll-behavior:contain}
.fc-dialog[open]{display:block;animation:fc-dialog-in .18s ease-out}
.fc-dialog::backdrop{background:#0006}
.fc-dialog--info{width:min(520px,calc(100vw - 32px))}
.fc-dialog h2{margin:0 36px 20px 0;color:#333;font:700 22px/1.25 "FORTE Card PT Sans",Arial,sans-serif}
.fc-dialog h3{margin:0 0 6px;font:700 17px/1.4 "FORTE Card PT Sans",Arial,sans-serif}
.fc-dialog p{margin:0 0 12px;font-size:16px;line-height:1.5}
.fc-dialog a{color:#007de3}
.fc-dialog__close{position:absolute;right:12px;top:12px;width:36px;height:36px;padding:0;border:0;border-radius:10px;background:#f7f7f7;color:#666;font-size:28px;line-height:30px}
.fc-dialog__gallery{display:flex;align-items:center;justify-content:center;gap:8px}
.fc-dialog__gallery img{display:block;min-width:0;max-width:calc(100% - 88px);width:600px;height:min(50dvh,480px);object-fit:contain;touch-action:pan-y}
.fc-dialog__gallery button{flex:0 0 36px;height:44px;border:0;border-radius:10px;background:#f7f7f7;font-size:30px;color:#555}
.fc-dialog__gallery button[hidden]{display:none}
.fc-dialog__counter{text-align:center;color:#8c8c8c;margin:12px 0 0!important;font-size:14px!important}
.fc-dialog__thumbs{display:flex;gap:8px;overflow-x:auto;margin-top:12px;padding:4px}
.fc-dialog__thumbs button:first-child{margin-left:auto}
.fc-dialog__thumbs button:last-child{margin-right:auto}
.fc-dialog__thumbs button{flex:0 0 64px;width:64px;height:56px;padding:4px;border:1px solid #ddd;border-radius:8px;background:#fff}
.fc-dialog__thumbs button[aria-pressed=true]{border-color:#fc8507;box-shadow:0 0 0 1px #fc8507}
.fc-dialog__thumbs img{display:block;width:100%;height:100%;object-fit:contain}
.fc-dialog__store{padding:16px 0;border-top:1px solid #eee}
.fc-dialog__store p{margin:0 0 4px}
.fc-dialog__store>span{font-size:14px;color:#1c9c48}
.fc-card-status{position:fixed;z-index:10100;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:10px 18px;border-radius:10px;background:#333;color:#fff;font:400 14px/20px "FORTE Card PT Sans",Arial,sans-serif;pointer-events:none}
.fc-card-status:empty{display:none}
@keyframes fc-dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes fc-spin{to{transform:rotate(360deg)}}

@media(min-width:992px) and (max-width:1199px){.forte-catalog .forte-catalog__layout{grid-template-columns:calc(25vw - 30px) minmax(0,1fr)}}
@media(min-width:768px) and (max-width:991px){.forte-catalog .forte-catalog__container{padding:0 20px}}
/* Tablet/desktop tiles stay usable when the sidebar or viewport reduces space. */
@media(min-width:768px){
    .forte-products.is-grid .forte-product-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
    .is-grid .fc-card{grid-template-columns:minmax(0,1fr);grid-template-rows:200px 66px 24px 44px 1fr auto;grid-template-areas:"image" "name" "badges" "stat" "commerce" "availability";row-gap:8px;padding:20px;min-height:0;align-content:start}
    .is-grid .fc-card__media{justify-self:center;margin:0;width:200px;height:200px}
    .is-grid .fc-card__name{margin:0;height:66px;overflow:hidden}
    .is-grid .fc-card__title{font-weight:400;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
    .is-grid .fc-card__short-specs{display:inline}
    .is-grid .fc-card__badges{margin:0}
    .is-grid .fc-card__stat{height:44px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:8px 0}
    .is-grid .fc-card__details{display:none}
    .is-grid .fc-card__commerce{grid-area:commerce;margin:0;align-self:end;align-items:stretch}
    .is-grid .fc-card__buy-row{width:100%}
    .is-grid .fc-card__availability{grid-area:availability;text-align:left;min-height:44px;padding-top:4px;display:flex;align-content:start;gap:8px;flex-wrap:wrap;font-size:12px;line-height:16px}
    .is-grid .fc-card__availability>div{margin:0}
    .is-grid .fc-card__price{align-items:flex-start;justify-content:flex-end;min-height:62px;text-align:left}
}

/* DNS switches to its compact card at 767px; the image does not shrink early. */
@media(max-width:767px){
    .forte-catalog .forte-catalog__container{padding:0 16px}
    .fc-card{grid-template-columns:100px minmax(0,1fr);grid-template-rows:120px 56px auto 52px;grid-template-areas:"image name" "stat stat" "commerce commerce" "availability availability";column-gap:12px;min-height:0;padding:12px;border-radius:16px}
    .fc-card__media{width:100px;height:120px}
    .fc-card__name{height:120px;margin:0;overflow:hidden}
    .fc-card__title{font-size:16px;line-height:22px;font-weight:400;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
    .fc-card--badged .fc-card__title{-webkit-line-clamp:4}
    .fc-card__short-specs{display:inline}
    .fc-card__badges{grid-area:name;position:relative;z-index:1;height:22px;max-width:100%;flex-wrap:nowrap;overflow:hidden;margin:0;align-self:end;background:#fff}
    .fc-card__badges span{font-size:12px;padding:2px 6px}
    .fc-card__details{display:none}
    .fc-card__stat{height:56px;margin:0 -12px;padding:12px;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}
    .fc-card__stat::-webkit-scrollbar{display:none}
    .fc-card__commerce{grid-area:commerce;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin:0;padding-bottom:12px}
    .fc-card__price{align-items:flex-start;text-align:left;min-height:44px;background:#f7f7f7;border-radius:8px;padding:4px 12px;overflow:hidden}
    .fc-card__price strong{font-size:18px;line-height:20px}
    .fc-card__price del{font-size:12px;line-height:14px}
    .fc-card__price .fc-card__price-request{font-size:16px;line-height:18px}
    .fc-card__payment{font-size:12px;line-height:14px;width:100%}
    .fc-card__buy-row{grid-template-columns:44px 44px;gap:8px;margin:0;width:96px}
    .fc-card .fc-card__buy{height:44px;width:44px;padding:8px;border-radius:12px;color:#8c8c8c}
    .fc-card__buy>.fc-icon-cart{display:inline-block;width:24px;height:24px;color:inherit}
    .fc-card .fc-card__buy.is-in-cart>.fc-icon-cart{display:none}
    .fc-card .fc-card__buy.is-in-cart>.fc-icon-check{display:block;width:24px;height:24px;margin:0}
    .fc-card__buy>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
    .fc-card .fc-card__more{font-size:0}
    .fc-card .fc-card__more:after{content:"›";font-size:28px;line-height:28px;color:#666}
    .fc-card__availability{grid-area:availability;height:52px;margin:0 -12px;padding:0 12px;display:flex;flex-wrap:nowrap;align-items:flex-start;gap:5px;text-align:left;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;font-size:12px;line-height:14px}
    .fc-card__availability>div{flex:0 0 auto;min-height:44px;padding:7px 8px;border-radius:8px;background:#f7f7f7;margin:0!important}
    .fc-card__availability>div>span,.fc-card__availability>div>button,.fc-card__availability>div>a{display:block;white-space:nowrap;font-size:12px;line-height:15px}
    .fc-card__zoom{opacity:1;width:26px;height:26px;background:#ffffffdb}
    .fc-card__zoom svg{width:18px;height:18px}
    .fc-card__media:focus-within .fc-card__zoom{opacity:1}
    .fc-card__code{display:none}
    .fc-card__dots{left:0;right:0;gap:3px}
    .fc-dialog{padding:20px;max-height:calc(100dvh - 24px)}
    .fc-dialog h2{font-size:18px;margin-bottom:16px}
    .fc-dialog__gallery img{max-width:calc(100% - 68px)}
    .fc-dialog__gallery button{flex-basis:26px}
}
/* DNS overflows at 320px; preserve our content and touch targets instead. */
@media(max-width:359px){.fc-card__price{padding:4px 8px}.fc-card__price strong{font-size:16px}.fc-card__payment{font-size:11px}}
@media(prefers-reduced-motion:reduce){.fc-card *,.fc-card *::after,.fc-dialog[open]{transition:none!important;animation:none!important}}
