/* FINFIRE uses the store's shared typography, colors and controls. */
.finfire-main{padding-bottom:48px}
.finfire-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 22px}
.finfire-heading h1{font-size:var(--fs-h1);line-height:1.25;letter-spacing:-.02em;margin:0}
.finfire-heading p{color:var(--muted);margin-top:9px;line-height:1.6}
.finfire-brand{font-size:var(--fs-h3);font-weight:var(--fw-semibold);letter-spacing:.08em;color:var(--muted)}
.finfire-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 20px}
.finfire-filters,.finfire-variants nav{display:flex;flex-wrap:wrap;gap:8px}
.finfire-filters a,.finfire-variants nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 20px;border-radius:var(--control-radius);background:var(--pale);line-height:1.4;white-space:nowrap}
.finfire-filters a[aria-current],.finfire-variants nav a[aria-current]{background:var(--orange);color:var(--white)}
.finfire-filters a:hover,.finfire-variants nav a:hover{box-shadow:inset 0 0 0 1px var(--orange)}
.finfire-count{color:var(--muted);white-space:nowrap;font-size:var(--fs-caption)}
.finfire-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.finfire-card{min-width:0;border-bottom:1px solid var(--line);padding-bottom:20px}
.finfire-picture{display:block;background:var(--pale);border-radius:var(--radius);padding:12px;height:205px}
.finfire-picture img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.finfire-card-copy{padding:16px 2px 0}
.finfire-type{font-size:var(--fs-caption);color:var(--muted)}
.finfire-card h2{font-size:var(--fs-h4);line-height:1.4;letter-spacing:0;margin:3px 0 14px}
.finfire-card h2 a:hover,.finfire-source a,.finfire-document-link,.finfire-back{color:var(--orange)}
.finfire-card-specs{margin:0 0 16px;font-size:var(--fs-body)}
.finfire-card-specs>div{display:flex;justify-content:space-between;gap:16px;margin:4px 0}
.finfire-card-specs dt{color:var(--muted)}
.finfire-card-specs dd{margin:0;text-align:right;white-space:nowrap}
.finfire-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}
.finfire-card-bottom>span{font-size:var(--fs-body);font-weight:var(--fw-semibold)}
.finfire-card-price{display:flex;flex-direction:column;gap:3px;white-space:nowrap}
.finfire-card-price>small{font-size:var(--fs-caption);font-weight:var(--fw-regular);line-height:1.4;color:var(--muted)}
.finfire-card .button{display:flex;flex:none;width:auto;min-height:40px;margin:0;padding:10px 12px;gap:8px;background:var(--warm);color:var(--orange);border-radius:10px}
.finfire-card .button:hover{background:var(--orange);color:var(--white);box-shadow:none}
.finfire-card .button .icon{display:block;width:16px;height:16px}
.finfire-help{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:36px;padding:24px;background:var(--pale);border-radius:var(--radius)}
.finfire-main h2:not(.finfire-card h2){font-size:var(--fs-h3);line-height:1.35;letter-spacing:-.02em}
.finfire-help p{color:var(--muted);margin-top:6px;max-width:min(66ch,680px)}
.finfire-help .button{flex:none;min-height:44px;background:var(--white);color:var(--ink)}
.finfire-source{margin-top:24px;font-size:var(--fs-caption);color:var(--muted);line-height:1.6}
.finfire-product-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-top:28px}
.finfire-variants{margin-bottom:22px}
.finfire-variants>span{display:block;color:var(--muted);margin-bottom:8px}
.finfire-key-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 0 20px;border-bottom:1px solid var(--line)}
.finfire-key-specs strong{display:block;font-size:var(--fs-h3);line-height:1.4}
.finfire-key-specs span{display:block;font-size:var(--fs-caption);color:var(--muted);margin-top:3px}
.finfire-description{margin:20px 0;line-height:1.6}
.finfire-order{padding:22px;background:var(--pale);border-radius:var(--radius)}
.finfire-price-label{display:block;margin-bottom:6px;font-size:var(--fs-caption);line-height:1.4;color:var(--muted)}
.finfire-retail-price{white-space:nowrap;font-variant-numeric:tabular-nums}
.finfire-order>p{color:var(--muted);margin:8px 0 18px}
.finfire-order-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.finfire-order-actions>a:last-child{font-weight:var(--fw-semibold);white-space:nowrap}
.finfire-order-actions .button{min-height:46px}
.finfire-contact-link{display:inline-block;margin-top:15px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.finfire-specs{margin:18px 0 0}
.finfire-specs>div{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:10px 0;border-bottom:1px solid var(--line);line-height:1.5}
.finfire-specs dt{color:var(--muted)}
.finfire-specs dd{margin:0}
.finfire-document-link{display:flex;align-items:center;gap:10px;margin-top:16px;min-height:44px}
.finfire-back{padding:8px 0}
@media(max-width:1180px){.finfire-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finfire-card .button{min-height:44px}.finfire-product-layout{gap:24px}.finfire-details{gap:28px}.finfire-product-photo img{height:300px}}
@media(max-width:767px){
 .finfire-main{padding-bottom:32px}.finfire-heading{margin-bottom:18px;align-items:flex-start}.finfire-heading h1{font-size:var(--fs-h1)}.finfire-brand{display:none}
 .finfire-toolbar{display:block;margin:20px 0 16px}.finfire-count{display:block;margin-top:12px}.finfire-filters{gap:6px}.finfire-filters a{padding:9px 13px}
 .finfire-grid{gap:24px 16px}.finfire-card-bottom{align-items:flex-start;flex-direction:column}.finfire-picture{height:180px}.finfire-card-specs>div{font-size:var(--fs-caption)}
 .finfire-help{align-items:flex-start;flex-direction:column;gap:16px;padding:20px;margin-top:28px}.finfire-help .button{width:100%}
 .finfire-product-layout,.finfire-details{grid-template-columns:minmax(0,1fr);gap:24px}.finfire-product-photo{padding:14px}.finfire-product-photo img{height:260px}
 .finfire-details{margin-top:30px;padding-top:24px}.finfire-key-specs{gap:12px}.finfire-key-specs strong{font-size:var(--fs-h4)}
 .finfire-order{padding:20px}.finfire-order-actions .button{width:100%}.finfire-specs>div{gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media(max-width:480px){.finfire-grid{grid-template-columns:minmax(0,1fr)}.finfire-card-bottom{align-items:center;flex-direction:row}.finfire-card .button{padding:10px 16px}.finfire-picture{height:195px}.finfire-card-specs>div{font-size:var(--fs-body)}}

/* Product gallery: real product photo, then the manufacturer's dimension drawing. */
.finfire-product-layout{align-items:start}
.finfire-gallery{min-width:0}
.finfire-photo-surface{position:relative;background:var(--pale);border-radius:var(--radius);overflow:hidden}
.finfire-photo-open{display:block;width:100%;padding:24px 36px 36px;touch-action:pan-y;cursor:zoom-in}
.finfire-photo-open>img{width:100%;height:330px;object-fit:contain;mix-blend-mode:multiply}
.finfire-zoom{position:absolute;right:14px;bottom:12px;color:var(--muted);display:grid;place-items:center;width:32px;height:32px;background:var(--white);border-radius:50%}
.finfire-zoom .icon{width:19px;height:19px}
.finfire-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:46px;border-radius:var(--control-radius);background:var(--white);color:var(--muted)}
.finfire-gallery-arrow:hover{color:var(--orange)}
.finfire-gallery-arrow .icon{width:20px;height:20px}
.finfire-gallery-prev{left:10px}.finfire-gallery-prev .icon{transform:rotate(180deg)}.finfire-gallery-next{right:10px}
.finfire-photo-count{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font-size:var(--fs-caption);color:var(--muted);pointer-events:none}
.finfire-photo-count>span{font-weight:var(--fw-semibold);color:var(--orange)}
.finfire-thumbnails{display:flex;gap:10px;margin-top:12px}
.finfire-thumbnails button{display:flex;align-items:center;gap:9px;padding:5px 12px 5px 6px;min-height:54px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--white);font-size:var(--fs-caption)}
.finfire-thumbnails button[aria-pressed=true]{border-color:var(--orange);color:var(--orange)}
.finfire-thumbnails button:hover{border-color:var(--orange)}
.finfire-thumbnails img{width:52px;height:42px;object-fit:contain}
.finfire-gallery-caption{margin-top:10px;color:var(--muted);font-size:var(--fs-caption);line-height:1.5}
.finfire-key-specs{gap:10px;padding:0;border:0}
.finfire-key-specs>div{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:14px 12px;border-radius:var(--control-radius);background:var(--pale)}
.finfire-key-specs .icon{width:30px;height:30px;color:var(--orange)}
.finfire-key-specs strong{font-size:var(--fs-h4);line-height:1.25;white-space:nowrap}
.finfire-key-specs span{line-height:1.5;margin-top:4px}
/* Same tab behavior as other product pages, without repeating information. */
.finfire-information{margin-top:32px;scroll-margin-top:90px}
.finfire-tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}
.finfire-tabs button{scroll-margin-top:calc(var(--nav-height) + 24px);position:relative;flex:none;min-height:50px;padding:12px 0;font-size:var(--fs-body);font-weight:var(--fw-semibold);line-height:1.5;white-space:nowrap;color:var(--muted)}
.finfire-tabs button[aria-selected=true]{color:var(--orange)}
.finfire-tabs button[aria-selected=true]:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--orange)}
.finfire-tabs button:hover{color:var(--orange)}
.finfire-tabs button:focus-visible{outline-offset:-3px}
.finfire-information-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:40px;align-items:start;margin-top:24px}
.finfire-panels{min-width:0;min-height:340px}
.finfire-panel[hidden]{display:none!important}
.finfire-panel:focus-visible{outline:2px solid var(--orange);outline-offset:6px}
.finfire-specs{margin:0}
.finfire-materials{padding:24px;background:var(--pale);border-radius:var(--radius)}
.finfire-materials>.icon{width:28px;height:28px;color:var(--orange);margin-bottom:12px}
.finfire-main .finfire-materials h2{font-size:var(--fs-h4)}
.finfire-materials p{margin-top:10px;color:var(--muted);line-height:1.6}
.finfire-document-link{margin-top:14px;font-weight:var(--fw-semibold)}
.finfire-document-link .icon{width:18px;height:18px}
.finfire-steps{display:grid;gap:24px;list-style:none;margin:0;padding:0}
.finfire-steps li{display:flex;align-items:flex-start;gap:16px}
.finfire-step-icon{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:var(--control-radius);background:var(--warm);color:var(--orange)}
.finfire-step-icon .icon{width:23px;height:23px}
.finfire-steps h3{font-size:var(--fs-h4);line-height:1.5;margin:0 0 5px}
.finfire-steps h3>span{color:var(--orange)}
.finfire-steps p{color:var(--muted);line-height:1.6}
.finfire-instruction-note{padding:16px 0;margin-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-body);line-height:1.6}
.finfire-kit-list{list-style:none;margin:0;padding:0}
.finfire-kit-list li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.finfire-kit-list .icon{color:var(--orange);width:22px;height:22px}
.finfire-kit-list strong{white-space:nowrap;font-size:var(--fs-body);font-weight:var(--fw-medium)}
.finfire-back{display:inline-block;margin-top:28px}
@media(max-width:1279px){.finfire-key-specs>div{grid-template-columns:minmax(0,1fr);gap:9px;padding:12px}.finfire-key-specs .icon{width:26px;height:26px}}
@media(max-width:767px){
 .finfire-photo-open{padding:16px 32px 32px}.finfire-photo-open>img{height:250px}
 .finfire-gallery-arrow{width:36px;height:44px}.finfire-gallery-prev{left:6px}.finfire-gallery-next{right:6px}
 .finfire-key-specs{gap:8px}.finfire-key-specs>div{padding:12px 9px}.finfire-key-specs strong{font-size:var(--fs-lead)}
 .finfire-thumbnails button{min-height:52px}.finfire-gallery-caption{font-size:var(--fs-caption)}
 .finfire-information{margin-top:28px;scroll-margin-top:118px}.finfire-tabs{gap:20px}.finfire-tabs button{min-height:48px}
 .finfire-information-grid{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:20px}.finfire-panels{min-height:0}
 .finfire-materials{padding:20px}.finfire-materials>.icon{margin-bottom:8px}.finfire-steps{gap:20px}
 .finfire-steps li{gap:12px}.finfire-step-icon{width:38px;height:38px}.finfire-step-icon .icon{width:21px;height:21px}
 .finfire-kit-list li{gap:10px;grid-template-columns:22px minmax(0,1fr) auto}
 .finfire-back{margin-top:22px}
}
@media(prefers-reduced-motion:reduce){.finfire-tabs{scroll-behavior:auto}}
