/* CPO's blue, Open Sans body and Lato table headings; draft-only styling. */
.b2 { --b2-ink:#30343b; --b2-green:#3583c1; --b2-accent:#3583c1; --b2-soft:#f5f7f9; color:#60656b; font-family:'Open Sans',Arial,sans-serif; }
.b2 h1,.b2 h2,.b2 h3 { font-family:'Open Sans',Arial,sans-serif; color:#30343b; }
.b2 h2 { font-weight:600; font-size:27px; }
.b2 .tableheading { font-family:Lato,Arial,sans-serif; color:#3583c1; font-weight:700; }
.b2-button { background:#3583c1; font-family:'Open Sans',Arial,sans-serif; }
.b2-button:hover { background:#286b9e; }
.b2-outline { color:#3583c1!important; border-color:#3583c1; background:#fff; }
.b2-hero { min-height:520px; background:#edf1f4; }
.b2-hero-copy { width:540px; border-left:7px solid #3583c1; padding:36px; box-shadow:0 8px 26px #22313c12; }
.b2-hero-copy h1 { font-size:44px; line-height:1.14; font-weight:700; color:#30343b; margin:0 0 20px; }
.b2-hero-copy>p:last-child { margin-bottom:0; }
.b2-hero-subtitle { font-size:19px; color:#3583c1; margin-top:12px!important; }
.b2-hero-proof { color:#5f666e; font-weight:400; }
.b2-hero-image { object-position:center; }
.b2 .b2-card-body h3 { min-height:0; margin:0; font-weight:600; line-height:1.3; }
.b2-card-body { gap:2px; }
.b2-card-body>span:first-of-type { line-height:1.35; margin-top:0; }
.b2-card-cta { color:#3583c1; font-weight:600; }
.b2-card:hover .b2-card-cta { color:#235e8c; text-decoration:underline; }
.b2-card { box-shadow:none; border:1px solid #e2e5e8; }
.b2-finish-tiles .b2-card { min-height:0; padding:0; border:1px solid #e2e5e8; }
.b2-finish-tiles .b2-card-image { height:210px; }
.b2-finish-tiles .b2-card-body { position:static; padding:18px; display:flex; flex-direction:column; align-items:flex-start; gap:7px; border-top:4px solid #3583c1; }
.b2-finish-tiles .b2-card-body>span { display:block; }
.b2-finish-tiles .b2-card-body h3 { color:#30343b; }
.b2-finish-tiles .b2-card-cta { font-size:13px; margin-top:5px; }
.b2-facts-section { background:#f5f7f9; }
.b2-spec-table { border:0; }
.b2-spec-table dt { color:#3583c1; background:#edf4fa; }
.b2-spec-table dd { border-color:#e6eaee; }
.b2-size-table th { background:#3583c1; }
.b2-design-section { background:#fff; border-top:1px solid #e2e7eb; border-bottom:1px solid #e2e7eb; }
.b2-design-steps details { border:1px solid #e0e5e9; }
.b2-design-steps details[open] { border-color:#3583c1; border-left-width:4px; }
.b2-design-steps [open] summary span { background:#3583c1; }
.b2-design-steps summary { color:#30343b; font-weight:600; }
.b2-page-planner { background:#f5f8fb; box-shadow:none; border-top:4px solid #3583c1; }
.b2-page-planner h3 { color:#3583c1; font-weight:600; }
.b2-planner-tip { background:#e6f0f8; color:#41474d; }
.b2-layup-button { background:#fff; border-style:solid; border-color:#c4d8e8; color:#3583c1; }
.b2-paper-notes article { border-left:4px solid #3583c1; }
.b2-cover-notes article { background:#f4f6f8; border-top:3px solid #c7dae9; }
.b2-product-options { padding:32px 26px; border-left:1px solid #e3e8ec; }
.b2-product-options h1 { color:#3583c1; font-family:'Open Sans',Arial,sans-serif; font-weight:600; }
.b2-product-gallery,.b2-product-background { height:530px!important; }
.b2-product-promises { background:#3583c1; margin-right:0; font-family:Lato,Arial,sans-serif; }
.b2-gallery-thumbs { right:0; bottom:20px; background:#26323e5c; }
.b2-artwork-box { background:#f5f7f9; border-left:3px solid #3583c1; padding:16px 20px; margin:24px 0; }
.b2-product-options .dropdown_menus { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.b2-product-options .dropdown_wrapper { display:flex; flex-direction:column; align-items:stretch; gap:4px; margin:0; }
.b2-product-options .dropdown_wrapper label { min-width:0; display:flex; align-items:center; min-height:34px; font:600 12px/1.35 'Open Sans',Arial,sans-serif; color:#555; }
.b2-product-options .custom-dropdown { font-family:'Open Sans',Arial,sans-serif; border:1px solid #d7dce1; background:#fafbfc; font-size:14px; }
.b2-product-options .dropdown_wrapper label img { width:19px!important; height:19px!important; }
.b2 .b2-price-panel { padding:28px 0 10px; }
.b2 .b2-price-panel .table_scroll_container { max-height:500px; border:0; }
/* Match the existing CPO price table's border, blue headings and selection. */
.b2 .b2-price-panel .table_content table { width:100%; border:0; border-collapse:separate; border-spacing:0; font-family:'Open Sans',Arial,sans-serif; }
.b2 .b2-price-panel .table_content th,.b2 .b2-price-panel .table_content td { padding:8px; border-left:1px solid #ebebeb; border-right:1px solid #ebebeb; border-top:1px solid #ebebeb; border-bottom:0; font-size:14px; }
.b2 .b2-price-panel .table_content tr { border-bottom:4px solid #e4e4e4; }
.b2 .b2-price-panel .table_content th { background:#3583c1; color:#fff; font-size:11px; }
.b2 .b2-price-panel .table_content th:first-child { background:#fbfbfb; color:#000; }
.b2 .b2-price-panel .heading { color:inherit; font-family:Lato,Arial,sans-serif; font-size:12px; font-weight:700; }
.b2 .b2-price-panel .turnaround-time { color:inherit; font-family:'Open Sans',Arial,sans-serif; font-size:11px; }
.b2 .b2-price-panel .table_content td { color:#000; background:#fff; }
.b2 .b2-price-panel .table_content td:first-child { font-weight:400; }
.b2 .b2-price-panel .table_content td.hover-highlight-row,.b2 .b2-price-panel .table_content td.hover-highlight-col { background:#e0f3ff!important; }
.b2 .b2-price-panel .table_content td.hovered-cell { background:#3583c1!important; color:#fff!important; font-weight:700; }
.b2 .b2-price-panel .price-cell:hover { background:#3583c1; color:#fff; }
.b2 .b2-price-panel #basketButton>.desktop-only { flex-direction:row; gap:0; }
.b2 .b2-price-panel #basketButton button { min-height:54px; }
.b2-cross-sell { padding:30px 0 35px; }
.b2-cross-sell .tableheading { font-size:17px; margin:0 0 14px; text-transform:uppercase; }
.b2-cross-sell .tableheading:not(:first-child) { margin-top:28px; }
.b2-cross-sell .poster-sizes-panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.b2-cross-sell .poster-size-card { display:flex; height:120px; min-width:0; position:relative; background:#fff; border:1px solid #e6e9ed; overflow:hidden; }
.b2-cross-sell .poster-size-card.active { outline:2px solid #3583c1; background:#f3f3f3; }
.b2-cross-sell .poster-size-card:hover { border-color:#3583c1; }
.b2-cross-sell .poster-size-image { width:40%; flex-shrink:0; }
.b2-cross-sell .poster-size-image img { width:100%; height:100%; object-fit:cover; }
.b2-cross-sell .poster-size-info { width:60%; padding:10px; display:flex; flex-direction:column; justify-content:space-between; gap:2px; font-size:12px; }
.b2-cross-sell .poster-size-title { font-size:14px; font-weight:600; color:#444; }
.b2-cross-sell .active .poster-size-title { color:#3583c1; }
.b2-cross-sell .poster-size-dimensions,.b2-cross-sell .poster-size-vat { font-size:10px; }
.b2-cross-sell .poster-size-price { color:#3583c1; font-weight:600; }
.b2-product-tabs>.full-width-bar { background:#3583c1; }
.b2-product-tabs .tab-bar button.active::after { background:#fff; }
@media (max-width:1023px) { .b2-product-options { padding:25px 18px; } .b2-product-options .dropdown_menus { grid-template-columns:minmax(0,1fr); } }
@media (max-width:767px) {
    .b2-product-options { border:0; width:100%; padding:26px 0; order:2; }
    .b2-product-gallery,.b2-product-background { height:330px!important; }
    .b2-product-promises { order:2; }
    .b2-product-options { order:3; }
    .b2-cross-sell { order:4; width:100%; }
    .b2-product-options .dropdown_menus { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .b2 .b2-price-panel .table_content th,.b2 .b2-price-panel .table_content td { padding:8px 5px; font-size:12px; }
    .b2 .b2-price-panel .heading,.b2 .b2-price-panel .turnaround-time { font-size:10px; }
    .b2 .b2-price-panel .price-cell { width:calc(100% + 10px)!important; margin:-8px -5px!important; }
}
@media (max-width:640px) {
    .b2-hero { min-height:0; }
    .b2-hero-copy { width:auto; padding:24px; border-left-width:5px; }
    .b2-hero-copy h1 { font-size:32px; }
    .b2-hero-subtitle { font-size:16px; }
    .b2 .b2-card-body h3 { min-height:0; line-height:1.3; }
    .b2-finish-tiles .b2-card { display:flex; flex-direction:column; }
    .b2-finish-tiles .b2-card-image { width:100%; max-width:none; height:180px; }
    .b2-finish-tiles .b2-card-body { width:100%; }
}
@media (max-width:380px) { .b2-cross-sell .poster-sizes-panel,.b2-product-options .dropdown_menus { grid-template-columns:minmax(0,1fr); } }

/* Grouped product guidance replaces the original specification-table layout. */
.b2-booklet-overview { background:#f5f7f9; }
.b2-overview-heading { max-width:760px; margin-bottom:28px; }
.b2-overview-heading h2 { margin-bottom:9px; }
.b2-overview-heading p { margin:0; color:#68717a; }
.b2-overview-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:32px; align-items:start; }
.b2-overview-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; background:#fff; border-top:3px solid #3583c1; padding:4px 24px; }
.b2-overview-details article { padding:20px 0; }
.b2-overview-details article:nth-child(n+3) { border-top:1px solid #e7ebee; }
.b2-overview-details h3 { font-size:16px; font-weight:600; margin:0 0 9px; }
.b2-overview-details p { font-size:13px; line-height:1.75; margin:0; }
.b2-overview-delivery { margin-top:18px; border-left:3px solid #b8d3e8; padding:4px 0 4px 18px; }
.b2-overview-delivery h3 { font-size:14px; font-weight:600; color:#3583c1; margin:0 0 6px; }
.b2-overview-delivery p { font-size:12px; line-height:1.75; margin:0; }
.b2-format-guide { padding:24px; background:#fff; }
.b2-format-guide h3 { font-size:19px; font-weight:600; margin:0 0 9px; }
.b2-format-guide>p { font-size:12px; margin:0 0 18px; }
.b2-format-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.b2-format-links a { padding:12px; border:1px solid #e0e6eb; background:#fafcfd; }
.b2-format-links a:hover { border-color:#3583c1; background:#f0f6fb; }
.b2-format-links strong { display:block; color:#3583c1; font-size:14px; font-weight:600; }
.b2-format-links span { display:block; font-size:11px; margin-top:3px; color:#606970; }
.b2-format-guide .b2-format-note { margin:16px 0 0; font-size:11px; color:#77818a; }
@media (max-width:900px) { .b2-overview-layout { grid-template-columns:minmax(0,1fr); gap:24px; } }
@media (max-width:640px) {
    .b2-overview-heading { margin-bottom:22px; }
    .b2-overview-details { grid-template-columns:minmax(0,1fr); padding-inline:18px; }
    .b2-overview-details article+article { border-top:1px solid #e7ebee; }
    .b2-format-guide { padding:20px 18px; }
}

/* Match the existing product stylesheet's Lato text and 32px help icons. */
.b2-product-body,
.b2-product-body button,.b2-product-body input,.b2-product-body select,.b2-product-body textarea,
.b2-product-body .b2-product-page,.b2-product-body .b2-product-page h1,
.b2-product-body .b2-product-page h2,.b2-product-body .b2-product-page h3,
.b2-product-body .b2-product-options .dropdown_wrapper label,
.b2-product-body .table_content table,.b2-product-body .turnaround-time { font-family:Lato,Arial,sans-serif!important; }
.b2-product-body .b2-product-options h1 { font-size:30px; line-height:1.25; letter-spacing:-.01em; }
.b2-product-body .b2-product-options .dropdown_wrapper label { font-size:14px; }
.b2-product-body .b2-product-options .custom-dropdown { font-size:16px; }
.b2 .b2-product-options .dropdown_wrapper label img { width:32px!important; height:32px!important; flex-shrink:0; }
.b2-product-options .dropdown_wrapper label a { display:inline-flex; align-items:center; justify-content:center; min-width:32px; min-height:32px; }
.b2-product-tabs .custom-image-container img { border:0!important; padding:0!important; background:transparent!important; box-shadow:none!important; }
@media (max-width:768px) { .b2-product-body .b2-product-options h1 { font-size:22px; } }

/* The page counter and sheet plan stay together, visible on the page. */
.b2-page-count-control { display:grid; grid-template-columns:minmax(0,1fr) 78px; gap:16px; align-items:center; margin:22px 0 10px; }
.b2-page-count-control label,.b2-cover-select label { color:#4a535b; font-size:13px; font-weight:600; }
.b2-page-count-control input { width:100%; min-height:44px; padding:8px; border:1px solid #b7cfe0; background:#fff; color:#3583c1; text-align:center; font-size:21px; font-weight:700; }
.b2-page-range { width:100%; min-height:32px; margin:0; accent-color:#3583c1; cursor:pointer; }
.b2-page-range-limits { display:flex; justify-content:space-between; font-size:10px; color:#7c8790; margin-bottom:20px; }
.b2-cover-select { margin-bottom:20px; }
.b2-cover-select label { display:block; margin-bottom:7px; }
.b2-cover-select select { width:100%; min-height:43px; padding:9px 12px; border:1px solid #d2dce4; background:#fff; color:#404b54; font-size:13px; }
.b2-sheet-layout { margin-top:24px; padding-top:20px; border-top:1px solid #cddce7; }
.b2-sheet-layout h4 { font-size:15px; font-weight:600; color:#3583c1; margin:0 0 8px; }
.b2-sheet-layout>p { font-size:11px; line-height:1.65; margin-bottom:12px; }
.b2-sheet-layout .b2-sheet-row { grid-template-columns:68px minmax(0,1fr) minmax(0,1fr); gap:10px; margin:12px 0; padding-bottom:12px; border-bottom:1px solid #e1e8ed; }
.b2-sheet-layout .b2-sheet-row>strong { font-size:10px; line-height:1.5; font-weight:600; }
.b2-sheet-layout .b2-sheet-row>div>span { display:block; font-size:10px; margin-bottom:4px; color:#71808a; }
.b2-sheet-layout .b2-sheet-pair { border-color:#a8c2d5; }
.b2-sheet-layout .b2-sheet-pair b { background:#fff; color:#3583c1; padding:8px 4px; border-right-color:#a8c2d5; font-size:13px; }
.b2-sheet-layout .b2-sheet-pair b.is-extra { color:#7c8790; background:repeating-linear-gradient(135deg,#edf1f4 0 4px,#fff 4px 8px); }
.b2-sheet-key { display:flex; align-items:center; gap:8px; color:#7c8790; font-size:10px!important; }
.b2-sheet-key>span { display:inline-block; flex:none; width:18px; height:18px; border:1px solid #c9d6e0; background:repeating-linear-gradient(135deg,#edf1f4 0 4px,#fff 4px 8px); }

/* Open preparation steps, separated by alternating CPO blue and grey tints. */
.b2-design-section { background:#fff; border-top:0; border-bottom:1px solid #e2e7eb; }
.b2-workshop-heading { max-width:780px; margin-bottom:36px; }
.b2-workshop-heading h2 { margin:0 0 14px; }
.b2-workshop-heading>p:last-child { margin:0; line-height:1.8; }
.b2-workshop-label { color:#3583c1; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin:0 0 12px; }
.b2-design-grid { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:56px; }
.b2-preflight-list { margin:0; padding:0; list-style:none; }
.b2-preflight-list>li { display:grid; grid-template-columns:46px minmax(0,1fr); gap:18px; padding:24px; margin-bottom:12px; background:#edf5fb; }
.b2-preflight-list>li:nth-child(even) { background:#f3f4f5; }
.b2-preflight-list>li:last-child { margin-bottom:0; }
.b2-stage-number { color:#3583c1; font:700 24px/1.2 Lato,Arial,sans-serif; padding-top:2px; }
.b2-preflight-list h3 { font-size:18px; font-weight:600; margin:0 0 10px; line-height:1.5; }
.b2-preflight-list p { font-size:13px; line-height:1.85; margin:0 0 10px; }
.b2-preflight-list .b2-stage-note { font-size:12px; color:#7a8289; }
.b2-preflight-list a { color:#3583c1; font-size:12px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.b2-page-planner { border:1px solid #d9e3eb; border-top:0; padding:24px; background:#f7f9fb; }
.b2-calculator-heading { background:#286b9e; margin:-24px -24px 24px; padding:24px; color:#fff; }
.b2-calculator-heading h3 { color:#fff; font-size:19px; line-height:1.4; margin:0 0 10px; }
.b2-calculator-heading p { margin:0; color:#fff; font-size:12px; line-height:1.8; }
.b2-planner-stats { display:block; margin-bottom:18px; border-top:1px solid #cddce7; }
.b2-planner-stats>div,.b2-planner-stats>div:first-child { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 0; background:transparent; color:#30343b; border-bottom:1px solid #d9e3eb; }
.b2-planner-stats span { order:0; font-size:12px; }
.b2-planner-stats strong { order:1; color:#3583c1; font-size:22px; }
.b2-product-introduction { font-size:15px; line-height:1.75; margin:14px 0 28px; }
.b2-finish-picker { margin:0 0 24px; }
.b2-finish-picker p { margin:0 0 8px; font-size:14px; font-weight:700; color:#555; }
.b2-finish-picker>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.b2-finish-picker a { display:block; padding:10px 6px; border:1px solid #cdd8e1; text-align:center; font-size:14px; color:#3583c1; background:#fff; }
.b2-finish-picker a:hover,.b2-finish-picker a[aria-current="page"] { border-color:#3583c1; background:#edf5fb; }
.b2-finish-picker a[aria-current="page"] { box-shadow:inset 0 -3px #3583c1; font-weight:700; }
/* Wide scenes on desktop; keep the complete original product in the mobile gallery. */
.b2-product-display { --b2-photo-height:clamp(340px,32vw,690px); }
.b2-product-picture { position:absolute; inset:0 0 auto; height:var(--b2-photo-height); z-index:-1; }
.b2-product-picture .b2-product-background { position:static; height:100%!important; object-fit:cover; object-position:center; }
.b2-product-display .b2-product-gallery { height:var(--b2-photo-height)!important; }
@media (max-width:767px) {
    .b2-product-display { --b2-photo-height:330px; }
    .b2-product-picture .b2-product-background { object-fit:contain; background:#f5f7f9; }
}
.b2-faq { max-width:1000px; padding:32px; border:1px solid #d4e2ed; border-top:4px solid #3583c1; background:#f5f8fb; }
.b2-faq-heading { margin-bottom:24px; }
.b2-faq-heading h2 { margin:0 0 12px; }
.b2-faq-heading p { margin:0; font-size:14px; line-height:1.75; }
.b2-faq details { padding:0; margin:12px 0 0; border:1px solid #dce4eb; background:#fff; }
.b2-faq summary { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px; list-style:none; color:#30343b; font-size:15px; font-weight:600; }
.b2-faq summary::-webkit-details-marker { display:none; }
.b2-faq summary::after { content:'+'; flex:none; color:#3583c1; font-size:24px; font-weight:400; line-height:1; }
.b2-faq details[open] { border-color:#9ebfd8; }
.b2-faq details[open] summary { color:#286b9e; }
.b2-faq details[open] summary::after { content:'−'; }
.b2-faq details p { margin:0; padding:0 20px 20px; font-size:14px; line-height:1.8; }
@media (max-width:1000px) { .b2-design-grid { gap:28px; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); } }
@media (max-width:900px) { .b2-design-grid { grid-template-columns:minmax(0,1fr); } }
@media (max-width:640px) {
    .b2-faq { padding:22px 16px; }
    .b2-faq summary { padding:16px; font-size:14px; }
    .b2-faq details p { padding:0 16px 16px; font-size:13px; }
    .b2-preflight-list>li { grid-template-columns:34px minmax(0,1fr); gap:12px; padding:18px 16px; }
    .b2-stage-number { font-size:21px; }
    .b2-preflight-list h3 { font-size:16px; }
    .b2-page-planner { padding:20px; }
    .b2-calculator-heading { margin:-20px -20px 20px; padding:20px; }
}
