/*
=========================================================
FILE: /css/online_quote_view.css
VERSION: 1.3
PURPOSE:
- Workshop E-Quote System pages
- online-quote-view.asp
- online-quote-print.asp
=========================================================
*/

html, body
{
margin:0;
padding:0;
font-family:Arial, sans-serif;
background:#f4f7f9;
color:#1a1a1a;
}

.oqv_body
{
min-height:100vh;
}

.oqv_no_scroll
{
overflow:hidden;
}

.oqv_logo_bar
{
background:#ffffff;
padding:20px 20px 16px;
border-bottom:1px solid #dfe8ec;
box-shadow:0 6px 20px rgba(0,0,0,0.08);
}

.oqv_logo_wrap
{
max-width:1180px;
margin:0 auto;
text-align:center;
}

.oqv_logo
{
max-width:320px;
width:100%;
height:auto;
display:inline-block;
}

.oqv_title_bar
{
background:#111111;
border-bottom:1px solid #ffffff;
box-shadow:0 10px 22px rgba(0,0,0,0.20);
}

.oqv_title_inner
{
max-width:1180px;
margin:0 auto;
min-height:50px;
display:flex;
align-items:center;
justify-content:center;
padding:0 20px;
}

.oqv_title_text
{
color:#ffffff;
font-size:1.1rem;
font-weight:700;
letter-spacing:0.03em;
text-align:center;
}

.oqv_main
{
max-width:1180px;
margin:0 auto;
padding:28px 18px 40px;
}

.oqv_toolbar
{
display:flex;
justify-content:flex-end;
align-items:center;
margin-bottom:16px;
}

.oqv_toolbar_center
{
justify-content:center;
}

.oqv_toolbar_right
{
display:flex;
gap:12px;
}

.oqv_toolbar_link
{
display:inline-flex;
align-items:center;
gap:8px;
padding:10px 14px;
border-radius:999px;
background:#ffffff;
border:1px solid #d8e3e9;
box-shadow:0 8px 18px rgba(0,0,0,0.06);
text-decoration:none;
color:#1f1f1f;
font-size:0.94rem;
font-weight:700;
}

.oqv_toolbar_link:hover
{
background:#f9fcfe;
}

.oqv_toolbar_link_bottom
{
margin-top:18px;
}

.oqv_toolbar_icon
{
width:18px;
height:18px;
fill:currentColor;
display:block;
}

.oqv_notice
{
margin:0 0 18px 0;
padding:14px 16px;
border-radius:14px;
font-size:0.95rem;
line-height:1.6;
box-shadow:0 8px 18px rgba(0,0,0,0.05);
text-align: center;
}

.oqv_notice_success
{
background:#edf9ef;
border:1px solid #b7ddb9;
color:#245b2a;
}

.oqv_notice_warn
{
background:#fff6dd;
border:1px solid #e5cb73;
color:#6b5300;
}

.oqv_panel
{
background:#ffffff;
border:1px solid #dce7ed;
border-radius:22px;
box-shadow:0 18px 36px rgba(0,0,0,0.08);
padding:24px;
margin-bottom:20px;
}

.oqv_panel_ref
{
padding:20px;
background:linear-gradient(180deg, #fff3bf 0%, #ffefaa 100%);
border:1px solid #d8b84e;
}

.oqv_ref_box
{
text-align:center;
}

.oqv_ref_label
{
font-size:0.82rem;
font-weight:700;
letter-spacing:0.08em;
text-transform:uppercase;
color:#7a5d00;
margin-bottom:8px;
}

.oqv_ref_value
{
font-size:2rem;
line-height:1.15;
font-weight:700;
color:#5f4b04;
word-break:break-word;
}

.oqv_ref_sub
{
margin-top:8px;
font-size:0.96rem;
color:#695731;
}

.oqv_section_card,
.oqv_option_card,
.oqv_description_card,
.oqv_print_card
{
background:#fbfcfd;
border:1px solid #dde7ed;
border-radius:18px;
padding:18px;
box-shadow:0 10px 22px rgba(0,0,0,0.04);
}

.oqv_name_card
{
display:flex;
align-items:center;
justify-content:center;
min-height:50px;
}

.oqv_field_label
{
font-size:0.78rem;
font-weight:700;
letter-spacing:0.07em;
text-transform:uppercase;
color:#2b6f8f;
margin-bottom:10px;
}

.oqv_name_value
{
font-size:1.38rem;
line-height:1.3;
font-weight:700;
color:#111111;
text-align:center;
}

.oqv_divider
{
height:1px;
background:linear-gradient(90deg, rgba(17,17,17,0) 0%, rgba(17,17,17,0.12) 18%, rgba(17,17,17,0.12) 82%, rgba(17,17,17,0) 100%);
margin:24px 0;
}

.oqv_triplet_grid
{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:16px;
margin-bottom:18px;
}

.oqv_option_value
{
font-size:1.06rem;
line-height:1.55;
color:#1f1f1f;
font-weight:700;
text-align:center;
}

.oqv_description_card
{
margin-top:0;
}

.oqv_description_text
{
font-size:1rem;
line-height:1.8;
color:#444444;
}

.oqv_section_heading
{
font-size:1.28rem;
line-height:1.3;
font-weight:700;
margin:0 0 14px;
text-align:center;
}

.oqv_gallery_section
{
margin:0;
}

.oqv_empty_note
{
padding:16px;
background:#f8fbfd;
border:1px solid #d9e6ed;
border-radius:16px;
text-align:center;
color:#5a5a5a;
}

.oqv_image_card
{
max-width:820px;
margin:0 auto 18px;
background:#ffffff;
border:1px solid #dbe6ec;
border-radius:20px;
padding:14px;
box-shadow:0 14px 28px rgba(0,0,0,0.08);
}

.oqv_image_card:last-child
{
margin-bottom:0;
}

.oqv_image_button
{
display:block;
width:100%;
padding:0;
border:none;
background:none;
cursor:pointer;
}

.oqv_image_thumb
{
display:block;
width:100%;
min-width:500px;
max-width:100%;
height:auto;
border-radius:14px;
border:1px solid #d3dbe0;
box-shadow:0 8px 18px rgba(0,0,0,0.10);
}

.oqv_image_meta
{
display:flex;
justify-content:space-between;
align-items:center;
gap:16px;
padding-top:12px;
flex-wrap:wrap;
}

.oqv_image_meta_center
{
justify-content:center;
}

.oqv_download_link
{
display:inline-flex;
align-items:center;
justify-content:center;
padding:9px 12px;
border-radius:999px;
background:#eef8ff;
border:1px solid #bcdbea;
text-decoration:none;
color:#23566d;
font-size:0.9rem;
font-weight:700;
}

.oqv_form
{
margin-top:0;
}

.oqv_form_split_grid
{
display:grid;
grid-template-columns:1fr 1fr;
gap:18px;
}

.oqv_form_group
{
margin-bottom:18px;
}

.oqv_form_label
{
display:block;
margin:0 0 8px;
font-size:0.9rem;
font-weight:700;
color:#1f1f1f;
}

.oqv_textarea,
.oqv_input
{
display:block;
width:100%;
box-sizing:border-box;
padding:14px 14px;
border:1px solid #cfd9df;
border-radius:16px;
background:#ffffff;
font-family:Arial, sans-serif;
font-size:1rem;
line-height:1.6;
color:#222222;
box-shadow:inset 0 1px 2px rgba(17,17,17,0.03);
}

.oqv_textarea
{
resize:vertical;
min-height:120px;
}

.oqv_input:focus,
.oqv_textarea:focus
{
outline:none;
border-color:#7db8d3;
box-shadow:0 0 0 0.22rem rgba(125,184,211,0.18);
}

.oqv_price_group
{
max-width:320px;
}

.oqv_input_price
{
font-size:1.1rem;
font-weight:700;
}

.oqv_pricing_summary,
.oqv_print_pricing
{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:14px;
margin-bottom:10px;
}

.oqv_pricing_item
{
background:#f8fbfd;
border:1px solid #d9e6ed;
border-radius:16px;
padding:14px;
text-align:center;
box-shadow:0 8px 18px rgba(0,0,0,0.04);
}

.oqv_pricing_label
{
display:block;
margin-bottom:7px;
font-size:0.78rem;
font-weight:700;
letter-spacing:0.06em;
text-transform:uppercase;
color:#2b6f8f;
}

.oqv_pricing_value
{
display:block;
font-size:1.15rem;
font-weight:700;
line-height:1.3;
color:#1a1a1a;
word-break:break-word;
}

.oqv_checkbox_group
{
margin-top:2px;
}

.oqv_checkbox_label
{
display:inline-flex;
align-items:center;
gap:10px;
font-size:1rem;
font-weight:700;
color:#1f1f1f;
cursor:pointer;
}

.oqv_checkbox_label input
{
width:18px;
height:18px;
margin:0;
}

.oqv_submit_wrap
{
padding-top:10px;
text-align:center;
}

.oqv_submit_button
{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:320px;
min-height:56px;
padding:0 28px;
border:none;
border-radius:999px;
background:#111111;
color:#ffffff;
font-size:1.02rem;
font-weight:700;
letter-spacing:0.01em;
cursor:pointer;
box-shadow:0 16px 28px rgba(0,0,0,0.18);
}

.oqv_submit_button:hover
{
background:#202020;
}

.oqv_after_form_tools
{
display:flex;
justify-content:center;
align-items:center;
}

.oqv_footer_bar
{
background:#111111;
color:#ffffff;
text-align:center;
padding:16px 18px;
font-size:0.92rem;
line-height:1.6;
border-top:1px solid #ffffff;
box-shadow:0 -8px 18px rgba(0,0,0,0.10);
}

.oqv_lightbox
{
position:fixed;
inset:0;
display:none;
align-items:center;
justify-content:center;
background:rgba(0,0,0,0.88);
z-index:9999;
padding:30px 90px;
box-sizing:border-box;
}

.oqv_lightbox.is-open
{
display:flex;
}

.oqv_lightbox_stage
{
max-width:1200px;
width:100%;
text-align:center;
}

.oqv_lightbox_image
{
max-width:100%;
max-height:75vh;
width:auto;
height:auto;
border-radius:14px;
box-shadow:0 18px 38px rgba(0,0,0,0.40);
background:#ffffff;
}

.oqv_lightbox_caption
{
display:none;
}

.oqv_lightbox_download
{
display:inline-flex;
align-items:center;
justify-content:center;
margin-top:14px;
padding:10px 14px;
border-radius:999px;
background:#ffffff;
color:#111111;
font-size:0.92rem;
font-weight:700;
text-decoration:none;
}

.oqv_lightbox_close
{
position:absolute;
top:18px;
right:22px;
border:none;
background:none;
color:#ffffff;
font-size:2.8rem;
line-height:1;
cursor:pointer;
}

.oqv_lightbox_nav
{
position:absolute;
top:50%;
transform:translateY(-50%);
border:none;
width:54px;
height:54px;
border-radius:50%;
background:rgba(255,255,255,0.14);
color:#ffffff;
font-size:1.8rem;
line-height:1;
cursor:pointer;
backdrop-filter:blur(6px);
}

.oqv_lightbox_prev
{
left:22px;
}

.oqv_lightbox_next
{
right:22px;
}

.oqv_print_tools
{
max-width:920px;
margin:0 auto;
padding:12px 18px 0;
display:flex;
gap:10px;
justify-content:center;
}

.oqv_print_button
{
display:inline-flex;
align-items:center;
justify-content:center;
padding:10px 14px;
border-radius:999px;
border:1px solid #d8e3e9;
background:#ffffff;
color:#111111;
font-size:0.92rem;
font-weight:700;
cursor:pointer;
box-shadow:0 8px 18px rgba(0,0,0,0.06);
}

.oqv_print_main
{
max-width:920px;
padding-top:18px;
}

.oqv_panel_print
{
padding:18px;
}

.oqv_panel_ref_print
{
padding:16px;
}

.oqv_logo_bar_print
{
padding:14px 20px 12px;
}

.oqv_logo_print
{
max-width:240px;
}

.oqv_title_bar_print
{
box-shadow:none;
}

.oqv_triplet_grid_print
{
margin-bottom:14px;
}

.oqv_print_grid
{
display:grid;
grid-template-columns:1fr 1fr;
gap:16px;
margin-bottom:18px;
}

.oqv_print_card_rud
{
background:#fff4f4;
border-color:#e2b3b3;
}

.oqv_image_card_print
{
max-width:none;
box-shadow:none;
break-inside:avoid;
page-break-inside:avoid;
}

.oqv_image_thumb_print
{
min-width:0;
box-shadow:none;
}

@media (max-width: 1100px)
{
.oqv_pricing_summary,
.oqv_print_pricing
{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}

@media (max-width: 900px)
{
.oqv_triplet_grid,
.oqv_print_grid,
.oqv_form_split_grid
{
grid-template-columns:1fr;
}
}

@media (max-width: 767px)
{
.oqv_main
{
padding:22px 12px 34px;
}

.oqv_panel
{
padding:18px;
border-radius:18px;
}

.oqv_ref_value
{
font-size:1.45rem;
}

.oqv_image_thumb
{
min-width:0;
}

.oqv_pricing_summary,
.oqv_print_pricing
{
grid-template-columns:1fr;
}

.oqv_submit_button
{
width:100%;
min-width:0;
}

.oqv_lightbox
{
padding:22px 16px 28px;
}

.oqv_lightbox_nav
{
width:44px;
height:44px;
font-size:1.45rem;
}

.oqv_lightbox_prev
{
left:10px;
}

.oqv_lightbox_next
{
right:10px;
}

.oqv_print_tools
{
justify-content:center;
flex-wrap:wrap;
}
}

@media print
{
body
{
background:#ffffff !important;
}

.oqv_print_tools,
.oqv_toolbar,
.oqv_after_form_tools,
.oqv_footer_bar
{
display:none !important;
}

.oqv_main,
.oqv_print_main
{
max-width:none;
margin:0;
padding:0;
}

.oqv_panel
{
box-shadow:none;
border:1px solid #cccccc;
break-inside:avoid;
page-break-inside:avoid;
}

.oqv_image_card
{
box-shadow:none;
border:1px solid #cccccc;
break-inside:avoid;
page-break-inside:avoid;
}

.oqv_image_thumb
{
box-shadow:none;
}

a
{
color:#000000 !important;
text-decoration:none !important;
}
}

/* =========================================
   6 BOX PRICING GRID
========================================= */

.oqv_pricing_grid_6
{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:14px;
margin-top:10px;
}

.oqv_pricing_item
{
background:#f8fbfd;
border:1px solid #d9e6ed;
border-radius:16px;
padding:14px;
text-align:center;
box-shadow:0 8px 18px rgba(0,0,0,0.04);
}

/* TOTAL BOX (GREEN) */
.oqv_pricing_total
{
background:#eaf7ee;
border:1px solid #9fd3a8;
box-shadow:0 10px 22px rgba(0,0,0,0.08);
}

.oqv_pricing_total .oqv_pricing_label
{
color:#1e6b2f;
}

.oqv_pricing_total .oqv_pricing_value
{
color:#0f4d1e;
font-size:1.25rem;
}

/* MOBILE STACK */
@media (max-width: 767px)
{
.oqv_pricing_grid_6
{
grid-template-columns:1fr;
}
}
/* =========================================
   ONLINE QUOTE VIEW V1.3 REFINEMENTS
   - Moves page-specific styles out of online-quote-view.asp
   - 7-box pricing grid
   - Single large image / multi-image thumbnail gallery
   - Improved lightbox arrows and captions
   - Error page styling
========================================= */

.oqv_price_group_center
{
max-width:320px;
margin-left:auto !important;
margin-right:auto !important;
text-align:left;
}

.oqv_price_group_center .oqv_input_price
{
width:100%;
text-align:center;
}

.oqv_pricing_grid_7
{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:14px;
}

.oqv_pricing_total_wide
{
grid-column:1 / -1;
max-width:520px;
width:100%;
margin:0 auto;
}

.oqv_gallery_images
{
width:100%;
box-sizing:border-box;
}

.oqv_gallery_images--single
{
display:block;
max-width:860px;
margin:0 auto;
}

.oqv_gallery_images--single .oqv_image_card
{
max-width:820px;
margin:0 auto 18px;
}

.oqv_gallery_images--single .oqv_image_thumb
{
width:100%;
min-width:0;
height:auto;
max-height:none;
object-fit:contain;
}

.oqv_gallery_images--multiple
{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:18px;
align-items:start;
}

.oqv_gallery_images--multiple .oqv_image_card
{
width:100%;
max-width:none;
min-width:0;
margin:0;
padding:12px;
box-sizing:border-box;
}

.oqv_gallery_images--multiple .oqv_image_button
{
display:block;
width:100%;
height:180px;
padding:0;
border:0;
background:transparent;
cursor:pointer;
overflow:hidden;
border-radius:14px;
}

.oqv_gallery_images--multiple .oqv_image_thumb
{
display:block;
width:100%;
min-width:0;
max-width:none;
height:180px;
max-height:180px;
object-fit:cover;
border-radius:14px;
}

.oqv_gallery_images--multiple .oqv_image_meta
{
justify-content:center;
margin-top:8px;
padding-top:8px;
text-align:center;
}

.oqv_lightbox_nav
{
position:fixed;
top:50%;
transform:translateY(-50%);
width:58px;
height:58px;
border-radius:999px;
border:2px solid #ffffff;
background:rgba(0,0,0,0.68);
color:#ffffff;
font-size:34px;
font-weight:900;
line-height:1;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
z-index:10005;
box-shadow:0 8px 20px rgba(0,0,0,0.35);
backdrop-filter:blur(6px);
}

.oqv_lightbox_nav:hover
{
background:#ef7f00;
color:#ffffff;
}

.oqv_lightbox_prev
{
left:22px;
}

.oqv_lightbox_next
{
right:22px;
}

.oqv_lightbox_stage
{
position:relative;
}

.oqv_lightbox_caption
{
display:block;
margin-top:12px;
color:#ffffff;
font-size:14px;
font-weight:700;
text-align:center;
}

.oqv_error_page
{
font-family:Arial, sans-serif;
background:#f7f7f7;
color:#111111;
margin:0;
padding:40px;
}

.oqv_error_wrap
{
max-width:760px;
margin:0 auto;
background:#ffffff;
border:1px solid #dddddd;
border-radius:16px;
padding:28px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.oqv_error_wrap h1
{
margin:0 0 12px;
font-size:28px;
line-height:1.2;
}

.oqv_error_wrap p
{
margin:0 0 14px;
font-size:16px;
line-height:1.7;
}

@media(max-width:1000px)
{
.oqv_gallery_images--multiple
{
grid-template-columns:repeat(2, minmax(0, 1fr));
}

.oqv_gallery_images--multiple .oqv_image_button,
.oqv_gallery_images--multiple .oqv_image_thumb
{
height:190px;
max-height:190px;
}
}

@media(max-width:800px)
{
.oqv_pricing_grid_7
{
grid-template-columns:1fr;
}

.oqv_pricing_total_wide
{
grid-column:auto;
max-width:none;
}

.oqv_gallery_images--multiple
{
grid-template-columns:1fr;
}

.oqv_gallery_images--multiple .oqv_image_button,
.oqv_gallery_images--multiple .oqv_image_thumb
{
height:auto;
max-height:none;
object-fit:contain;
}

.oqv_lightbox_nav
{
width:46px;
height:46px;
font-size:28px;
}

.oqv_lightbox_prev
{
left:10px;
}

.oqv_lightbox_next
{
right:10px;
}
}
