/* FR3DPRINT / gallery and form / 2026-10-20. Scoped overrides of Minva. */
body { --fp-paper:#fcfbf7; --fp-ink:#20271e; --fp-muted:#596353; --fp-line:#dce1d5; --fp-soft:#eef0e7; --fp-lime:#d0f549; color:var(--fp-ink); background:var(--fp-paper); font-family:'Segoe UI',Arial,sans-serif; font-size:15px; line-height:1.55; letter-spacing:0; }
body p { font-size:15px; line-height:1.6; }
body a { color:var(--fp-ink); }
body a:hover { color:#426100; }
body .container { max-width:1200px; }
body .btn,body button,body input,body textarea,body select { font-family:inherit; }
body .btn-primary,body .btn-secondary { background:var(--fp-ink); border:1px solid var(--fp-ink); color:#fff; border-radius:7px; letter-spacing:0; text-transform:none; font-weight:600; padding:13px 22px; }
body .btn-primary:hover,body .btn-primary:focus,body .btn-secondary:hover { background:#35472a; border-color:#35472a; color:#fff; }
body :focus-visible { outline:3px solid #6b8d00; outline-offset:3px; }
body .form-control { border:1px solid #bfc8b4; border-radius:7px; background:#fff; color:var(--fp-ink); font-size:16px; }
body #header { background:var(--fp-paper); box-shadow:none; border-bottom:1px solid var(--fp-line); }
body #header .header-top { padding:15px 0; }
body #header .header-nav { background:var(--fp-paper); }
body #header .logo { max-height:70px; width:auto; max-width:115px; mix-blend-mode:multiply; }
body #header #_desktop_logo { display:flex; align-items:center; }
body #header .top-menu a { font-family:inherit; font-size:14px; text-transform:none; letter-spacing:0; }
body #wrapper { background:var(--fp-paper); padding-top:20px; }
body#index #wrapper { padding-top:0; }
body .breadcrumb { background:transparent; padding:12px 0; margin:0 0 25px; font-size:12px; }
.fp-home { max-width:1200px; margin:0 auto; padding:0 25px; }
.fp-main-banner { position:relative; display:block; overflow:hidden; margin:30px 0 55px; border-radius:12px; background:var(--fp-soft); color:var(--fp-ink); }
.fp-main-banner>img { display:block; width:100%; height:auto; }
.fp-banner-copy { position:absolute; top:0; bottom:0; left:5%; width:42%; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:24px 0; }
.fp-banner-copy h1 { font-size:clamp(34px,4.7vw,60px); line-height:1.06; font-weight:650; letter-spacing:-1.8px; text-transform:none; text-wrap:balance; color:var(--fp-ink); margin:0 0 20px; }
body .fp-banner-copy p { color:var(--fp-muted); font-size:16px; line-height:1.55; margin:0 0 24px; }
.fp-main-banner:hover .fp-button { background:#35472a; color:var(--fp-lime); }
.fp-hero { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; min-height:530px; padding:42px 0 54px; }
.fp-eyebrow { font-size:11px; font-weight:700; letter-spacing:2px; margin:0 0 18px; color:var(--fp-muted); }
.fp-hero h1 { font-size:clamp(44px,5vw,68px); line-height:1.05; font-weight:650; letter-spacing:-2.5px; text-transform:none; margin:0 0 24px; color:var(--fp-ink); }
.fp-hero h1 span { background:linear-gradient(transparent 58%,var(--fp-lime) 58%,var(--fp-lime) 96%,transparent 96%); }
body .fp-hero-description { max-width:400px; color:var(--fp-muted); font-size:17px; margin:0 0 28px; }
.fp-button { display:inline-flex; gap:30px; align-items:center; justify-content:center; padding:15px 25px; border-radius:7px; font-size:15px; font-weight:600; }
body .fp-button-dark { color:#fff; background:var(--fp-ink); }
body .fp-button-dark:hover { color:var(--fp-lime); background:#35472a; }
.fp-quiet-link { display:block; margin-top:15px; width:max-content; text-decoration:underline; text-underline-offset:4px; font-size:13px; }
.fp-hero-notes { display:flex; flex-wrap:wrap; gap:18px; margin-top:30px; font-size:12px; color:var(--fp-muted); }
.fp-hero-notes span::before { content:'✓'; margin-right:7px; font-weight:700; }
.fp-hero-art { position:relative; display:block; min-height:430px; background:var(--fp-soft); border-radius:12px; overflow:hidden; }
.fp-art-disc { position:absolute; width:330px; height:330px; border-radius:50%; background:var(--fp-lime); top:45px; right:-65px; }
.fp-hero-poster { object-fit:contain; background:#fff; padding:6px; box-shadow:0 18px 36px #28301f24; position:absolute; }
.fp-hero-poster-front { width:58%; height:83%; left:29%; top:6%; transform:rotate(7deg); }
.fp-hero-poster-back { width:45%; height:66%; left:7%; top:20%; transform:rotate(-10deg); }
.fp-art-tag { position:absolute; bottom:18px; right:20px; background:var(--fp-ink); color:var(--fp-lime); font-size:10px; line-height:1.5; font-weight:700; letter-spacing:1.2px; padding:13px 17px; transform:rotate(-4deg); }
.fp-section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin:10px 0 24px; }
.fp-section-heading .fp-eyebrow { margin-bottom:9px; }
.fp-section-heading h2,.fp-how h2 { font-size:30px; font-weight:600; letter-spacing:-.8px; text-transform:none; margin:0; }
.fp-section-heading>span { color:var(--fp-muted); font-size:13px; padding-bottom:3px; }
.fp-categories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.fp-categories>a { display:grid; grid-template-columns:minmax(0,1fr) 24px; align-content:start; background:var(--fp-soft); border-radius:10px; padding:22px; transition:transform .18s; }
.fp-categories>a:hover { transform:translateY(-3px); }
.fp-category-image { grid-column:1/-1; height:210px; min-width:0; display:flex; align-items:center; justify-content:center; margin-bottom:22px; }
.fp-category-image img { display:block; min-width:0; min-height:0; max-height:100%; max-width:100%; width:auto; height:100%; object-fit:contain; box-shadow:0 8px 20px #20271e12; }
.fp-categories>a>div:nth-child(2) { min-width:0; }
.fp-categories h3 { font-size:18px; text-transform:none; letter-spacing:-.3px; font-weight:600; margin:0 0 6px; }
body .fp-categories p { color:var(--fp-muted); font-size:13px; margin:0; }
.fp-categories>a>span { font-size:24px; align-self:center; }
.fp-how { padding:45px 0; margin-top:25px; border-bottom:1px solid var(--fp-line); }
.fp-how ol { list-style:none; margin:26px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.fp-how li { display:flex; gap:14px; }
.fp-how li>span { background:var(--fp-lime); display:grid; place-items:center; width:36px; height:36px; flex-shrink:0; border-radius:50%; font-size:12px; font-weight:700; }
.fp-how h3 { font-size:16px; margin:0 0 5px; font-weight:600; text-transform:none; }
body .fp-how p { font-size:13px; color:var(--fp-muted); margin:0; }
body#index #content.page-home { display:flex; flex-direction:column; margin-top:45px; }
body#index .page-home .news-bg { order:90; }
body#index .home-heading,body#index .newproducts h2 { font-size:30px; text-transform:none; letter-spacing:-.5px; font-family:inherit; }
body .product-price,body .price { color:var(--fp-ink); }
body .product-miniature .thumbnail-container { border-radius:9px; overflow:hidden; background:#fff; }
body .product-miniature img { object-fit:contain; }
body .product-miniature .product-title,body .product-miniature .product-title a { text-transform:none; font-family:inherit; font-size:14px; letter-spacing:0; line-height:1.5; }
body .product-miniature .product-price-and-shipping { font-size:15px; font-weight:600; }
body .news-bg { background:var(--fp-soft); border-radius:10px; margin:45px 0 0; padding:35px 25px; }
body .block_newsletter h1 { font-family:inherit; font-size:25px; letter-spacing:-.5px; text-transform:none; color:var(--fp-ink); }
body .block_newsletter p { font-size:14px; }
body #footer { background:var(--fp-soft); border-top:1px solid var(--fp-line); margin-top:65px; }
body #footer .footer-container { background:transparent; padding:40px 0 25px; }
body #footer h3,body #footer h4,body #footer .h3,body #footer .h4 { font-family:inherit; text-transform:none; font-size:16px; font-weight:600; letter-spacing:0; color:var(--fp-ink); }
body #footer a,body #footer p,body #footer li { font-family:inherit; font-size:13px; letter-spacing:0; color:var(--fp-muted); line-height:1.7; }
body #footer .fa,body #footer .material-icons { color:var(--fp-muted); }
body #footer svg { fill:var(--fp-muted); }
body #footer .footer-down { background:transparent; border-top:1px solid var(--fp-line); padding:18px 0; }
body#product .fp-product-layout { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,1fr); gap:50px; margin:0; align-items:start; }
body#product .fp-gallery-column,body#product .fp-buy-column { width:auto; float:none; padding:0; min-width:0; }
body#product .fp-gallery-column { position:sticky; top:24px; }
body#product .product-cover { background:var(--fp-soft); border-radius:12px; padding:20px; margin:0; }
body#product .product-cover img { max-height:650px; width:100%; object-fit:contain; }
body#product .fp-gallery-zoom { position:absolute; right:14px; bottom:14px; background:#fff; color:var(--fp-ink); border:1px solid var(--fp-line); border-radius:6px; padding:8px 12px; font-size:12px; }
#product-modal .modal-dialog { width:calc(100% - 32px); max-width:1040px; margin:24px auto; }
#product-modal .modal-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 20px; }
#product-modal .modal-header h2 { font-size:18px; font-family:inherit; text-transform:none; margin:0; }
#product-modal .fp-modal-close { padding:10px 14px; border:1px solid var(--fp-line); border-radius:6px; background:var(--fp-soft); color:var(--fp-ink); font-size:14px; }
#product-modal .fp-modal-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; background:var(--fp-paper); }
#product-modal .fp-modal-gallery img { max-width:100%; width:100%; height:auto; max-height:75vh; object-fit:contain; }
body#product .product-images { display:flex; gap:12px; margin:16px 0 0; padding:0; }
body#product .product-images .thumb-container { border-radius:7px; padding:0; overflow:hidden; }
body#product .product-images img { width:78px; height:92px; object-fit:contain; background:#fff; }
body#product .product-images .selected { border:2px solid var(--fp-ink); }
body#product .fp-buy-column h1 { margin:0 0 17px; font-family:inherit; font-size:30px; line-height:1.22; font-weight:600; letter-spacing:-.7px; text-transform:lowercase; }
body#product .fp-buy-column h1::first-letter { text-transform:uppercase; }
body#product .fp-buy-column>hr,body#product .fp-buy-column .arltr { display:none; }
body#product .product-prices { margin:0 0 20px; border:0; padding:0; }
body#product .product-prices .current-price { color:var(--fp-ink); font-size:27px; font-weight:600; }
body#product .product-prices .tax-shipping-delivery-label { color:var(--fp-muted); font-size:12px; }
body#product .product-information { display:flex; flex-direction:column; }
body#product .product-information .prodes { order:0; }
body#product .product-information .product-actions { order:1; margin:0 0 22px; }
body#product .product-information .product-customization { order:2; }
body#product .product-actions #add-to-cart-or-refresh { display:flex; flex-wrap:wrap; gap:18px; align-items:end; }
body#product .product-variants { margin:0; }
body#product .product-variants-item { margin:0; padding:0; border:0; }
body#product .control-label { display:block; float:none; text-align:left; margin:0 0 8px; font-size:13px; font-weight:600; text-transform:none; color:var(--fp-ink); }
body#product .product-quantity { margin:0; }
body#product .product-quantity .qty { margin-right:0; }
body#product .product-add-to-cart { margin:0; padding:0; }
body#product .product-quantity .bootstrap-touchspin { display:inline-flex; align-items:stretch; width:94px!important; position:relative; }
body#product .bootstrap-touchspin>#quantity_wanted { width:66px!important; height:46px; flex:1; }
body#product .bootstrap-touchspin>.input-group-btn-vertical { position:relative; display:flex; flex-direction:column; width:26px; flex:0 0 26px; }
body#product .bootstrap-touchspin .bootstrap-touchspin-up,body#product .bootstrap-touchspin .bootstrap-touchspin-down { position:static; width:26px; height:23px; min-height:0; padding:0; line-height:1; }
body#product .bootstrap-touchspin button i { display:none; }
body#product .bootstrap-touchspin .bootstrap-touchspin-up::before { content:'+'; font:16px/1 Arial,sans-serif; }
body#product .bootstrap-touchspin .bootstrap-touchspin-down::before { content:'−'; font:16px/1 Arial,sans-serif; }
.fp-size-options { display:flex; gap:10px; }
.fp-size-options label { position:relative; margin:0; float:none; text-align:left; }
.fp-size-options input { position:absolute; opacity:0; width:1px; height:1px; }
.fp-size-options span { min-width:108px; min-height:57px; border:1px solid #bfc8b4; border-radius:7px; padding:8px 13px; display:flex; flex-direction:column; justify-content:center; background:#fff; font-size:15px; font-weight:600; }
.fp-size-options small { font-size:11px; color:var(--fp-muted); font-weight:400; margin-top:2px; }
.fp-size-options input:checked+span { border:2px solid var(--fp-ink); padding:7px 12px; background:var(--fp-soft); }
.fp-size-options input:focus-visible+span { outline:3px solid #6b8d00; outline-offset:3px; }
body#product .product-customization { margin:0; padding:22px; border:1px solid var(--fp-line); border-radius:10px; background:#fff; }
body#product .product-customization h3 { font-size:19px; font-family:inherit; letter-spacing:-.3px; text-transform:none; margin:0 0 7px; }
body#product .fp-custom-help { font-size:13px; color:var(--fp-muted); margin-bottom:20px; }
.fp-data-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
body#product .product-customization-item { margin:0; padding:0; float:none; width:auto; min-width:0; }
body#product .product-customization-item label { font-size:13px; font-weight:600; display:block; float:none; text-align:left; margin:0 0 6px; color:var(--fp-ink); text-transform:none; }
body#product .product-customization textarea { margin:0; display:block; width:100%; min-height:47px; height:47px; border:1px solid #bfc8b4; border-radius:6px; padding:11px 12px; background:#fcfdf9; color:var(--fp-ink); font-size:16px; line-height:1.4; resize:vertical; }
.fp-upload-block { margin-bottom:20px; }
.fp-upload-zone { position:relative; min-height:94px; display:flex; align-items:center; gap:13px; border:1px dashed #8a9d75; border-radius:8px; padding:16px; background:var(--fp-soft); }
.fp-upload-zone input[type=file] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.fp-upload-zone strong { font-size:14px; display:block; }
.fp-upload-zone small { font-size:12px; color:var(--fp-muted); display:block; margin-top:4px; overflow-wrap:anywhere; }
.fp-upload-sign { display:grid; place-items:center; background:var(--fp-lime); width:38px; height:38px; border-radius:50%; font-size:25px; flex-shrink:0; }
.fp-upload-thumb { width:61px; height:67px; object-fit:contain; background:#fff; border-radius:4px; }
.fp-upload-note { font-size:12px!important; color:var(--fp-muted); margin:8px 0 0; }
.fp-remove-photo { display:inline-block; font-size:12px; margin-top:8px; text-decoration:underline; }
.fp-more-data { margin:17px 0 0; }
.fp-more-data summary { font-size:13px; font-weight:600; padding:12px 0; cursor:pointer; }
.fp-more-data[open] .fp-data-grid { margin:7px 0 10px; }
body#product .fp-save-row { margin-top:20px; }
body#product .fp-save-row button { display:block; width:100%; float:none!important; min-height:50px; }
.fp-design-feedback { font-size:13px; margin:12px 0 0; color:var(--fp-muted); }
.fp-design-feedback:empty { display:none; }
.fp-design-feedback.fp-error { color:#a82d26; background:#fff1ef; padding:10px; border-radius:6px; }
body.fp-combined .product-add-to-cart .add,body.fp-combined .wb-compare-wishlist-button,body.fp-combined .product-additional-info { display:none; }
body#product #block-reassurance { margin-top:22px; }
body#product #block-reassurance li { font-size:12px; padding:10px 0; border-color:var(--fp-line); }
body#product #block-reassurance img { width:22px; height:22px; }
body#product .product-tab { margin-top:45px; }
body#product .product-tab .nav-link { text-transform:none; font-size:14px; letter-spacing:0; font-family:inherit; }
.fp-mobile-buy { display:none; }
@media (min-width:992px) { body #header .header-top>.container>.row { display:flex; align-items:center; } }
@media (max-width:991px) {
  .fp-banner-copy h1 { font-size:32px; margin-bottom:12px; }
  body .fp-banner-copy p { font-size:14px; line-height:1.4; margin-bottom:16px; }
  .fp-banner-copy .fp-button { padding:11px 20px; font-size:14px; }
  body #header .header-top { padding:10px 0; }
  body #header .mobile { display:flex; align-items:center; gap:12px; min-height:63px; }
  body #header .mobile .top-logo { flex:1; text-align:left; margin:0; }
  body #header .mobile .clearfix { display:none; }
  body #header .mobile .logo { max-height:57px; max-width:90px; }
  body #header .mobile>div { margin:0; }
  .fp-hero { gap:20px; min-height:440px; }
  .fp-hero-art { min-height:370px; }
  .fp-category-image { height:160px; }
  body#product .fp-product-layout { gap:25px; }
  body#product .fp-buy-column h1 { font-size:25px; }
  body#product .product-customization { padding:17px; }
}
@media (max-width:767px) {
  body .container { width:100%; }
  body #wrapper { padding-top:8px; }
  .fp-home { padding:0 18px; }
  .fp-main-banner { margin:20px 0 34px; }
  .fp-banner-with-copy { display:flex; flex-direction:column; }
  .fp-banner-with-copy>img { width:100%; height:230px; object-fit:cover; object-position:right center; }
  .fp-banner-copy { position:static; order:-1; width:auto; padding:26px 24px 12px; }
  .fp-banner-copy h1 { font-size:36px; letter-spacing:-1px; margin-bottom:14px; }
  body .fp-banner-copy p { font-size:15px; margin-bottom:18px; }
  .fp-banner-copy .fp-button { padding:12px 20px; font-size:14px; }
  .fp-hero { grid-template-columns:1fr; padding:32px 0; gap:28px; }
  .fp-hero h1 { font-size:48px; letter-spacing:-1.8px; margin-bottom:18px; }
  body .fp-hero-description { font-size:16px; margin-bottom:23px; }
  .fp-hero-art { min-height:330px; }
  .fp-hero-notes { margin-top:22px; }
  .fp-section-heading { display:block; margin-top:20px; }
  .fp-section-heading>span { display:none; }
  .fp-section-heading h2,.fp-how h2 { font-size:27px; }
  .fp-categories { gap:12px; grid-template-columns:1fr; }
  .fp-categories>a { grid-template-columns:88px minmax(0,1fr) 22px; align-items:center; gap:17px; padding:16px; }
  .fp-category-image { grid-column:auto; height:100px; margin:0; }
  .fp-categories h3 { font-size:17px; }
  .fp-how { padding:32px 0; }
  .fp-how ol { grid-template-columns:1fr; gap:24px; }
  body#index #content.page-home { margin-top:30px; }
  body .news-bg { padding:27px 18px; margin-top:30px; }
  body .block_newsletter h1 { font-size:23px; }
  body#product .fp-product-layout { grid-template-columns:1fr; gap:25px; }
  body#product .fp-gallery-column { position:static; }
  body#product .product-cover { padding:12px; }
  body#product .product-cover img { max-height:440px; }
  body#product .fp-buy-column h1 { font-size:28px; margin-top:0; }
  body#product .product-customization { padding:17px; }
  body#product .product-customization textarea { font-size:16px; }
  body#product .product-information .prodes p { font-size:14px; }
  body#product .product-actions #add-to-cart-or-refresh { gap:14px; }
  body#product .product-quantity .input-group { width:80px; }
  .fp-size-options span { min-width:94px; }
  body.fp-combined { padding-bottom:82px; }
  .fp-mobile-buy { display:flex; position:fixed; z-index:40; bottom:0; left:0; right:0; align-items:center; justify-content:space-between; gap:15px; background:var(--fp-paper); padding:11px 18px calc(11px + env(safe-area-inset-bottom)); box-shadow:0 -3px 20px #20271e14; border-top:1px solid var(--fp-line); }
  .fp-mobile-buy strong { display:block; font-size:19px; }
  .fp-mobile-buy small { font-size:11px; color:var(--fp-muted); }
  .fp-mobile-buy button { min-height:46px; padding:11px 20px; }
  body #scroll { bottom:95px; }
  body #footer .footer-container { padding-top:30px; }
}
@media (max-width:360px) { .fp-hero h1 { font-size:42px; } .fp-data-grid { grid-template-columns:1fr; } .fp-categories>a { grid-template-columns:70px minmax(0,1fr) 15px; gap:12px; } .fp-category-image { height:85px; } body#product .product-customization { padding:14px; } .fp-size-options span { min-width:84px; } }
@media (prefers-reduced-motion:reduce) { .fp-categories>a { transition:none; } }
