/* ================================================
   PAGES.CSS — Shared styles for all product pages
   Banner · Content · Bundles · Accessories
   ================================================ */

/* ------------------------------------------------
   1. BANNER BASE
   ------------------------------------------------ */
.page-banner { width: 100%; }
.page-banner__inner { max-width: 1349px; margin: 0 auto; position: relative; font-size: min(3vw, 41px); }
.page-banner__img { width: 100%; height: auto; display: block; }

.page-banner__badge {
    position: absolute; top: 3%; font-size: 1.06em; text-align: center;
    color: orange; font-family: 'Open Sans', sans-serif; font-weight: bold;
    opacity: 0.9; padding: 0.2em 0.5em; z-index: 1; line-height: 1.2;
    background-color: transparent;
}
.page-banner__badge--left  { left: 0; }
.page-banner__badge--right { right: 0; }

.page-banner__content { position: absolute; top: 35%; }
.page-banner__content--left  { left: 5%; }
.page-banner__content--right { right: 5%; }

.page-banner__title {
    font-size: 0.95em; font-weight: bold; font-family: 'Open Sans', sans-serif;
    margin: 0 0 0.3em 0; line-height: 1.2;
}
.page-banner__desc {
    font-size: 0.585em; font-family: 'Open Sans', sans-serif;
    margin: 0; line-height: 1.4;
}

/* ------------------------------------------------
   2. BANNER VARIANTS
   ------------------------------------------------ */

/* --- MOS / Value Teleprompter --- */
.page-banner--mos { background: #1c1c1c; }
.page-banner--mos .page-banner__badge { background-color: rgba(12,12,12,0.08); box-shadow: 2px 2px 5px black; }
.page-banner--mos .page-banner__inner { aspect-ratio: 1349 / 600; overflow: hidden; }
.page-banner--mos .page-banner__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.page-banner--mos .page-banner__content { max-width: 60%; }
.page-banner--mos .page-banner__title { color: white; text-shadow: 1px 1px black; font-size: 1.14em; }
.page-banner--mos .page-banner__desc { color: white; }

/* --- Network Based --- */
.page-banner--network { background: #191111; }
.page-banner--network .page-banner__badge { box-shadow: 1px 1px 3px black; }
.page-banner--network .page-banner__content { max-width: 40%; }
.page-banner--network .page-banner__title { color: white; text-shadow: 0.5px 0.5px rgb(255,255,255); }
.page-banner--network .page-banner__desc { color: rgb(195,150,150); }

/* --- PTZ --- */
.page-banner--ptz { background: #1c1c1c; }
.page-banner--ptz .page-banner__badge { background-color: #000; box-shadow: 2px 2px 5px black; }
.page-banner--ptz .page-banner__content { max-width: 34%; right: 8%; background-color: #000; opacity: 0.7; padding: 0.8em; box-shadow: 1px 1px 3px black; }
.page-banner--ptz .page-banner__title { color: white; text-shadow: 1px 1px black; font-size: 0.74em; }
.page-banner--ptz .page-banner__desc { color: white; font-size: 0.60em; }

/* --- SDI --- */
.page-banner--sdi { background: #1c1c1c; }
.page-banner--sdi .page-banner__badge { box-shadow: 1px 1px 3px rgb(26,25,25); }
.page-banner--sdi .page-banner__content { max-width: 40%; }
.page-banner--sdi .page-banner__title { color: white; text-shadow: 0.5px 0.5px rgb(255,255,255); }
.page-banner--sdi .page-banner__desc { color: rgb(195,150,150); }

/* --- Stage Motorized --- */
.page-banner--motorized { background: #0d1018; }
.page-banner--motorized .page-banner__badge { background-color: rgba(12,12,12,0.08); box-shadow: 2px 2px 5px black; }
.page-banner--motorized .page-banner__content { max-width: 60%; }
.page-banner--motorized .page-banner__title { color: white; text-shadow: 1px 1px black; font-size: 1.14em; }
.page-banner--motorized .page-banner__desc { color: white; }

/* --- Stage Manual --- */
.page-banner--manual { background: #493434; }
.page-banner--manual .page-banner__badge { box-shadow: 1px 1px 3px black; font-size: 1.16em; }
.page-banner--manual .page-banner__content { max-width: 40%; top: 40%; }
.page-banner--manual .page-banner__title { color: white; text-shadow: 0.5px 0.5px black; font-size: 0.81em; }
.page-banner--manual .page-banner__desc { color: white; }


/* ------------------------------------------------
   3. BUY NOW — Fixed floating button
   ------------------------------------------------ */
.request_demo p {
    background-color: rgba(243, 62, 21, 0.97); padding: 6px; width: 8.3%;
    font-size: 1.1em; top: 10%; right: 0; position: fixed; z-index: 2;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.41);
    border-top-left-radius: 20px; border-bottom-left-radius: 20px;
    cursor: pointer; text-align: center;
}
.request_demo p a { color: white; text-decoration: none; }
.request_demo p i { font-size: 1.2em; }
@media (max-width: 1200px) { .request_demo p { width: 13%; top: 30%; } }
@media (max-width: 840px)  { .request_demo p { width: 20%; } }
@media (max-width: 768px)  { .request_demo p { display: none; } }


/* ------------------------------------------------
   4. PAGE HEADING
   ------------------------------------------------ */
.main-head h1, .main-head h2 {
    font-family: 'Open Sans', sans-serif; text-align: center;
    margin-top: 40px; margin-bottom: 60px; color: #f49632;
}
@media (max-width: 768px) { .main-head h1, .main-head h2 { font-size: 18px; } }


/* ------------------------------------------------
   5. CONTENT SECTIONS
   ------------------------------------------------ */
.content-wrapper { max-width: 1200px; margin: auto; padding: 30px 20px; font-family: 'Open Sans', Arial, sans-serif; }
.content-block { padding: 30px 0; }
.content-block + .content-block { border-top: 1px solid #e0e0e0; }

.content-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }

.content-text h2 { font-size: 34px; margin-bottom: 14px; color: #1a1a1a; }
.content-text p { font-size: 16px; line-height: 1.7; margin-bottom: 14px; color: #444; }
.content-wrapper hr { border: none; border-top: 1px solid #e0e0e0; margin-top: 20px; }

.content-image { text-align: center; }
.content-image img { width: 100%; max-width: 460px; height: auto; max-height: 340px; object-fit: contain; display: inline-block; aspect-ratio: 4 / 3; }

.feature-list { font-size: 16px; list-style: none; padding: 0; margin-top: 12px; }
.feature-list li { margin-bottom: 12px; line-height: 1.6; color: #333; }
.feature-list i { color: #2882c8; margin-right: 8px; }
.feature-list span { font-weight: normal; color: #555; }


/* ------------------------------------------------
   6. BUNDLES / SOFTWARE UPGRADES
   ------------------------------------------------ */
.bay_option { background-color: #193b5d; padding: 10px 0 35px 0; margin-top: 10px; margin-bottom: 30px; }
.bay_option h2 { color: #f38815; text-align: center; font-family: 'Open Sans', sans-serif; padding-top: 30px; margin-bottom: 20px; }
.bay_option h3 { color: #f38815; text-align: center; font-family: 'Open Sans', sans-serif; margin-bottom: 10px; }
.bay_option p { text-align: center; font-family: 'Open Sans', sans-serif; color: white; font-size: 18px; padding: 0 20px; line-height: 1.6; }

@media (max-width: 768px) {
    .bay_option { background-color: #23527c; }
    .bay_option h2 { font-size: 18px; }
    .bay_option h3 { font-size: 16px; }
    .bay_option p  { font-size: 14px; }
    .bay_option .col-sm-4 { width: 100%; padding: 10px 20px; }
}


/* ------------------------------------------------
   7. ACCESSORIES
   ------------------------------------------------ */
.ACCESSORIES { margin-bottom: 50px; }
.ACCESSORIES h2 { color: #f38815; font-family: 'Open Sans', sans-serif; text-align: center; margin-top: 30px; margin-bottom: 40px; }
.ACCESSORIES .main_acc { margin-bottom: 40px; }

.con_acc { display: flex; flex-direction: column; align-items: center; min-height: 220px; padding: 10px; }
.con_acc img { width: 100%; max-width: 150px; height: 150px; object-fit: contain; flex-shrink: 0; transition: transform 0.4s ease; }
.con_acc img:hover { transform: scale(1.15); }
.con_acc p { margin-top: 15px; text-align: center; color: orange; font-size: 14px; font-family: 'Open Sans', sans-serif; }
.con_acc a { text-decoration: none; color: inherit; }

@media (max-width: 768px) {
    .ACCESSORIES h2 { font-size: 18px; }
    .ACCESSORIES .col-sm-4 { width: 50%; }
}
@media (max-width: 480px) { .ACCESSORIES .col-sm-4 { width: 100%; } }


/* ------------------------------------------------
   8. EXPLORE BUTTON
   ------------------------------------------------ */
.btn-explore {
    display: block; width: fit-content; margin: 15px auto 0;
    background: rgba(243, 62, 21, 0.93); padding: 6px 20px;
    color: white; border-radius: 20px; text-decoration: none;
    transition: background 0.3s ease; font-family: 'Open Sans', sans-serif;
    font-size: 14px; cursor: pointer;
}
.btn-explore:hover { background: #6b8eb1; color: white; }


/* ------------------------------------------------
   9. RESPONSIVE — Content sections
   ------------------------------------------------ */
@media (max-width: 900px) {
    .content-grid { grid-template-columns: 1fr; gap: 25px; }
    .content-text  { order: 1; }
    .content-image { order: 2; }
    .content-text h2 { font-size: 22px; }
}
@media (max-width: 480px) {
    .content-wrapper { padding: 30px 16px; }
    .content-block   { padding: 20px 0; }
    .content-text h2 { font-size: 20px; }
    .content-image img { max-height: 220px; }
}
