/* The same local Raleway files as the homepage, including navigation weight 600. */
@font-face{font-family:Raleway;src:url('/fonts/raleway-v12-latin-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Raleway;src:url('/fonts/raleway-v12-latin-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Raleway;src:url('/fonts/raleway-v12-latin-700.woff2') format('woff2');font-weight:700;font-display:swap}

/* Scope PDP typography so the original homepage navbar/footer keep their design. */
html.pdp-document { font-size:16px; }
body { margin:0; font-family:Raleway,Arial,sans-serif; }
.pdp-page { background:#fff; color:#252923; font-size:14px; line-height:1.42857143; }
.pdp-page button { font-family:inherit; }
.pdp-page a:focus-visible, .pdp-page button:focus-visible { outline:3px solid #a34300; outline-offset:5px; }
.skip-link { position:absolute; top:-100px; left:1rem; background:#fff; color:#252923; z-index:1100; padding:1rem; }
.skip-link:focus { top:1rem; }
.brand-header { height:140px; }
.product-page { max-width:1380px; margin:auto; padding:1.5rem 3rem 4rem; font-size:16px; line-height:1.65; scroll-margin-top:90px; }
.product-page * { box-sizing:border-box; }
.product-page a { color:inherit; text-underline-offset:.2em; }
.product-page a:hover { color:#bd4f00; }
.product-page img { max-width:100%; height:auto; display:block; }
.product-page h1, .product-page h2, .product-page p { margin:0 0 1rem; }
.product-page h1 { font-size:clamp(1.8rem,3.1vw,2.8rem); font-weight:700; line-height:1.18; letter-spacing:-.035em; overflow-wrap:anywhere; }
.product-page h2 { font-size:1.45rem; font-weight:700; line-height:1.3; }
.breadcrumbs { display:flex; gap:.65rem; flex-wrap:wrap; font-size:.82rem; color:#5d6359; margin:0 0 2rem; }
.breadcrumbs span:last-child { overflow-wrap:anywhere; }
.product-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(2rem,5vw,5rem); align-items:start; }
.gallery, .summary { min-width:0; }
.main-image { display:flex; align-items:center; justify-content:center; border:1px solid #e8e9e4; border-radius:12px; aspect-ratio:1; background:#fff; padding:1.5rem; }
.main-image img { width:100%; height:100%; object-fit:contain; }
.thumbnails { display:flex; gap:.65rem; flex-wrap:wrap; margin-top:1rem; }
.thumbnail { width:76px; height:76px; padding:.35rem; border:1px solid #d9ddd4; border-radius:6px; }
.thumbnail[aria-current=true] { border:2px solid #252923; }
.thumbnail img { height:100%; width:100%; object-fit:contain; }
.image-help, .source-note, .shop-note, .price-note { font-size:.82rem; color:#5d6359; line-height:1.6; }
.product-page .image-help { margin-top:.6rem; }
.eyebrow { font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:#626958; }
.product-page .eyebrow { margin-bottom:.75rem; }
.sku { font-size:.8rem; color:#666c62; overflow-wrap:anywhere; }
.product-page .intro { font-size:1.05rem; margin:1.7rem 0; line-height:1.75; }
.purchase { background:#f7f7f5; padding:1.5rem; border-radius:10px; margin-top:1.75rem; }
.product-page .price { font-family:inherit; font-weight:700; font-size:2rem; line-height:1.3; margin-bottom:.5rem; }
.price span { font-size:.8rem; font-weight:400; }
.product-page .buy-button { display:flex; justify-content:center; align-items:center; gap:.5rem; min-height:52px; background:#f56600; padding:.85rem 1rem; border-radius:5px; text-decoration:none; font-size:1.2rem; font-weight:700; margin:1.2rem 0 .7rem; text-align:center; }
.product-page .buy-button, .product-page .buy-button:visited, .product-page .buy-button:hover, .product-page .buy-button:focus, .product-page .buy-button:active { color:#fff; }
.product-page .buy-button:hover { background:#dd5b00; text-decoration:none; }
.product-page .shop-note:last-child { margin-bottom:0; }
.details-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,5vw,5rem); margin-top:4rem; padding-top:3rem; border-top:1px solid #e8e9e4; }
.facts dl { margin:1.25rem 0; }
.facts dl div { display:grid; grid-template-columns:1fr 1.2fr; gap:1rem; padding:.65rem 0; border-bottom:1px solid #e8e9e4; font-size:.9rem; }
.facts dt { color:#5d6359; font-weight:400; }
.facts dd { margin:0; overflow-wrap:anywhere; }
.back-link { display:inline-block; margin-top:3rem; padding:.5rem 0; }
.notice { background:#f7f7f5; padding:1rem; border-radius:5px; }
.error-page { max-width:800px; margin:8vh auto; padding:2rem; line-height:1.65; }

/* Original homepage navigation; collapse earlier to fit its full labels on tablets. */
@media(max-width:1199px) {
    .brand-header { height:auto; }
    .brand-header .navbar { position:relative; height:auto; margin:0; opacity:1; }
    .brand-header .navbar > .container { width:100%; height:auto; padding:0 1.25rem; }
    .brand-header .navbar-header { position:relative; float:none; }
    .brand-header .navbar .navbar-brand { max-width:calc(100% - 70px); background-size:contain; background-position:left center; margin:20px 0; }
    .brand-header .navbar-toggle { display:none; margin:0; position:absolute; right:0; top:48px; width:44px; height:44px; }
    .navigation-ready .brand-header .navbar-toggle { display:block; }
    .brand-header .navbar-collapse { display:block!important; float:none; position:static; width:auto; max-height:none; margin:0; padding:0; border:0; }
    .navigation-ready .brand-header .navbar-collapse:not(.in) { display:none!important; }
    .brand-header .navbar-nav { float:none!important; margin:0 0 1rem; padding:.5rem 1rem; background:#e7e7e7; }
    .brand-header .navbar-nav > li { float:none; margin:0; padding:0; border:0; }
    .brand-header .navbar-nav > li > a { min-height:44px; padding:.7rem 0; }
}

@media(max-width:780px) {
    .product-page { padding:1rem 1.25rem 3rem; scroll-margin-top:1rem; }
    .product-layout, .details-layout { grid-template-columns:minmax(0,1fr); gap:1.7rem; }
    .details-layout { margin-top:2.5rem; padding-top:2rem; }
    .breadcrumbs { margin-bottom:1.25rem; }
    .purchase { padding:1.25rem; }
    .main-image { max-height:560px; }
    .thumbnail { width:64px; height:64px; }
}

@media(max-width:767px) {
    .pdp-page .footer .row > div { width:100%; float:none; text-align:left; }
    .pdp-page .footer .list-inline { padding-bottom:1rem; margin:0; }
    .pdp-page .footer a { display:inline-block; min-height:44px; padding:.65rem 0; }
    .pdp-page .footer .text-right { padding-bottom:1.5rem; overflow-wrap:anywhere; }
}

@media(prefers-reduced-motion:reduce) {
    .pdp-page * { scroll-behavior:auto!important; transition:none!important; }
}
