/* ============================================================
   Acel Precision Plastics — Main Stylesheet
   Replicates acelplastics.com layout and design
   ============================================================ */

/* --- Reset & Base ------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: Verdana, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.5;
  color: #ffffff;
  background-color: #000000;
  background-image: url('../images/theme/acel_bottombackground.jpg');
  background-repeat: repeat;
}

a:link, a:visited { color: #ffffff; text-decoration: underline; }
a:hover { color: #ffffff; text-decoration: none; }

h1, h2, h3 { color: #ffffff; margin-bottom: 0.5em; }
h1 { font-size: 1.4em; }
h2 { font-size: 1.2em; }
h3 { font-size: 1em; }

p { margin-bottom: 0.75em; }

img { border: 0; max-width: 100%; height: auto; }

/* --- Page Wrapper ------------------------------------------ */
#page { width: 100%; }
#page-inner { margin: 0 auto; }

/* --- Header ------------------------------------------------ */
#header {
  background-image: url('../images/theme/acel_topbackground.jpg');
  background-repeat: repeat-x;
  background-color: #000;
}

#header-inner {
  margin: 0 auto;
  width: 980px;
  overflow: hidden;
}

#logo-title { padding: 10px 0 0 0; }

#logo a { display: block; }
#logo img {
  display: block;
  width: 209px;
  height: 91px;
}

#header-blocks { clear: both; }

/* --- Navigation -------------------------------------------- */
#block-menu-primary-links { overflow: hidden; }

#block-menu-primary-links ul.menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
}

#block-menu-primary-links ul.menu li {
  float: left;
  width: 123px;
  height: 37px;
  background-image: url('../images/theme/menu.jpg');
  background-repeat: no-repeat;
  margin: 0;
  padding: 0;
  position: relative;
}

#block-menu-primary-links ul.menu li:hover,
#block-menu-primary-links ul.menu li.active-trail {
  background-image: url('../images/theme/menu_over.jpg');
}

#block-menu-primary-links ul.menu li.last {
  background-image: url('../images/theme/menu_end.jpg');
}
#block-menu-primary-links ul.menu li.last:hover,
#block-menu-primary-links ul.menu li.last.active-trail {
  background-image: url('../images/theme/menu_endover.jpg');
}

#block-menu-primary-links ul.menu li a {
  display: block;
  width: 123px;
  height: 37px;
  line-height: 37px;
  text-align: center;
  color: #ffffff;
  text-decoration: none;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 0.5px;
}

#block-menu-primary-links ul.menu li a:hover { color: #ffffff; text-decoration: none; }

/* Dropdown for Products */
#block-menu-primary-links ul.menu li.has-dropdown { position: relative; }

#block-menu-primary-links ul.menu li .dropdown {
  display: none;
  position: absolute;
  top: 37px;
  left: 0;
  background-color: #333333;
  border: 1px solid #555;
  z-index: 100;
  width: 200px;
}

#block-menu-primary-links ul.menu li:hover .dropdown { display: block; }

#block-menu-primary-links ul.menu li .dropdown a {
  display: block;
  width: 200px;
  height: auto;
  line-height: 1.4;
  padding: 8px 10px;
  text-align: left;
  font-size: 10px;
  font-weight: bold;
  color: #ffffff;
  text-decoration: none;
  border-bottom: 1px solid #444;
  background-image: none;
  background-color: #333333;
}

#block-menu-primary-links ul.menu li .dropdown a:hover {
  background-color: #555;
  color: #ffffff;
}

/* Mobile hamburger button */
#nav-toggle {
  display: none;
  background: #333;
  border: none;
  color: #fff;
  font-size: 18px;
  padding: 8px 14px;
  cursor: pointer;
  width: 100%;
  text-align: left;
}

/* --- Masthead (home page only) ----------------------------- */
#masthead { clear: both; }
#masthead img { display: block; width: 978px; height: 318px; }

/* --- Feature Tiles (home page only) ----------------------- */
#feature-blocks {
  clear: both;
  overflow: hidden;
  padding: 0;
}

.feature-block {
  float: left;
  width: 320px;
  height: 108px;
  background-image: url('../images/theme/features_bg.png');
  background-repeat: no-repeat;
  padding-right: 10px;
  padding-top: 5px;
}

.feature-block .content { padding-right: 10px; overflow: hidden; }

.feature-block img {
  float: left;
  margin: 5px 10px 10px 15px;
  border: 1px solid #797979;
  width: 79px;
  height: 74px;
}

.feature-block p {
  font-size: 10px;
  margin-bottom: 0.3em;
  color: #ffffff;
}

.feature-block strong { color: #ffffff; }
.feature-block a { color: #ffffff; text-decoration: underline; }
.feature-block a:hover { text-decoration: none; }

.feature-label {
  font-size: 10px;
  font-weight: bold;
  text-decoration: underline;
  color: #ffffff;
  display: block;
  margin-bottom: 3px;
}

/* --- Main Area --------------------------------------------- */
#main {
  clear: both;
  width: 100%;
  background-image: url('../images/theme/acel_bottombackground.jpg');
  background-repeat: repeat;
  min-height: 400px;
  padding-top: 20px;
}

#main-inner {
  margin: 0 auto;
  width: 980px;
  overflow: hidden;
}

/* --- Content Area ------------------------------------------ */
#content {
  float: left;
  width: 690px;
  padding: 0 20px 20px 0;
}

#content-header { margin-bottom: 10px; }
#content-header h1.title { color: #ffffff; font-size: 1.3em; }

#content-area { }

#content p { color: #ffffff; }
#content ul, #content ol { margin: 0.5em 0 0.5em 1.5em; color: #ffffff; }
#content li { margin-bottom: 0.3em; }

#content h3 {
  color: #ffffff;
  font-size: 1em;
  margin-top: 1em;
  margin-bottom: 0.3em;
}

#content a { color: #ffffff; text-decoration: underline; }
#content a:hover { text-decoration: none; }

/* --- Sidebar Right ----------------------------------------- */
#sidebar-right {
  float: right;
  width: 260px;
  padding: 0;
}

#sidebar-right .block { margin-bottom: 15px; }

/* Global Offices block (home page) */
#block-global-offices h2.title {
  width: 258px;
  height: 51px;
  background-image: url('../images/theme/addr_header.png');
  background-repeat: no-repeat;
  text-indent: -9999px;
  margin: 0;
}

#block-global-offices .content {
  background-image: url('../images/theme/addr_bg.png');
  background-repeat: no-repeat;
  margin: 0;
  width: 258px;
  min-height: 160px;
}

#block-global-offices table { width: 260px; border: 0; border-collapse: collapse; }
#block-global-offices td { padding: 5px 4px; vertical-align: middle; color: #ffffff; font-size: 11px; }
#block-global-offices td:first-child { width: 90px; text-align: center; }
#block-global-offices td img { width: 39px; height: 40px; display: block; margin: 0 auto; }
#block-global-offices span.office-name { text-decoration: underline; display: block; }

/* Products nav block */
#block-products-nav h2.title {
  width: 260px;
  height: 51px;
  background-image: url('../images/theme/Info_Header.png');
  background-repeat: no-repeat;
  text-indent: -9999px;
  margin: 0;
}

#block-products-nav .content {
  background-image: url('../images/theme/Info2_Background.png');
  background-repeat: no-repeat;
  margin: 0;
  width: 260px;
  height: 173px;
  padding: 20px 10px 10px 20px;
}

#block-products-nav ul.menu {
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: 20px;
}

#block-products-nav ul.menu li { line-height: 22px; }

#block-products-nav ul.menu li a:link,
#block-products-nav ul.menu li a:visited {
  color: #797979;
  text-decoration: none;
  font-size: 11px;
}

#block-products-nav ul.menu li a:hover {
  color: #ffffff;
  text-decoration: underline;
}

#block-products-nav ul.menu li a.active {
  font-weight: bold;
  color: #ffffff;
}

/* Global Contacts block (sidebar on inner pages) */
#block-global-contacts h2.title {
  color: #ffffff;
  font-size: 11px;
  font-weight: bold;
  padding: 5px 0;
  border-bottom: 1px solid #444;
  margin-bottom: 5px;
}

#block-global-contacts .content {
  color: #ffffff;
  font-size: 11px;
  line-height: 1.8;
}

/* Contact Information block */
#block-contact-info {
  background-image: url('../images/theme/Info_Background.png');
  background-repeat: no-repeat;
  width: 260px;
  min-height: 173px;
  padding: 15px;
  color: #ffffff;
}

#block-contact-info h2.title {
  color: #ffffff;
  font-size: 11px;
  font-weight: bold;
  margin-bottom: 8px;
}

#block-contact-info p {
  color: #ffffff;
  font-size: 11px;
  line-height: 1.6;
  margin-bottom: 5px;
}

#block-contact-info a { color: #ffffff; text-decoration: underline; }
#block-contact-info a:hover { text-decoration: none; }

/* --- Product Gallery --------------------------------------- */
.product-page-header { margin-bottom: 15px; }
.product-page-header h1 { color: #ffffff; font-size: 1.3em; }

.product-main-image {
  display: block;
  width: 300px;
  height: 300px;
  object-fit: cover;
  margin-bottom: 10px;
}

.product-description {
  color: #ffffff;
  font-size: 12px;
  margin: 10px 0 15px;
  line-height: 1.6;
}

.gallery-label {
  color: #ffffff;
  font-size: 11px;
  margin-bottom: 6px;
}

.gallery-thumbs { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; }

.gallery-thumbs a {
  display: block;
  border: 1px solid #555;
}

.gallery-thumbs img {
  display: block;
  width: 50px;
  height: 50px;
  object-fit: cover;
}

/* Lightbox overlay */
#lightbox-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.85);
  z-index: 1000;
  align-items: center;
  justify-content: center;
}

#lightbox-overlay.active { display: flex; }

#lightbox-img {
  max-width: 90vw;
  max-height: 85vh;
  object-fit: contain;
  display: block;
}

#lightbox-close {
  position: absolute;
  top: 20px;
  right: 30px;
  color: #fff;
  font-size: 30px;
  cursor: pointer;
  background: none;
  border: none;
  line-height: 1;
}

/* --- Clientele Table --------------------------------------- */
#clientele-table {
  width: 100%;
  border-collapse: collapse;
  color: #ffffff;
  font-size: 11px;
}

#clientele-table th {
  background-color: #333;
  color: #ffffff;
  padding: 6px 8px;
  text-align: left;
  border-bottom: 2px solid #555;
}

#clientele-table td {
  padding: 5px 8px;
  border-bottom: 1px solid #333;
  color: #ffffff;
}

#clientele-table tr:nth-child(even) td { background-color: rgba(255,255,255,0.04); }

/* --- Contact Form ------------------------------------------ */
.contact-form { max-width: 580px; }

.contact-form .form-group {
  margin-bottom: 10px;
}

.contact-form label {
  display: block;
  color: #ffffff;
  font-size: 11px;
  margin-bottom: 3px;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea,
.contact-form select {
  width: 100%;
  padding: 6px 8px;
  font-family: Verdana, Arial, sans-serif;
  font-size: 11px;
  border: 1px solid #555;
  background-color: #1a1a1a;
  color: #ffffff;
}

.contact-form textarea { height: 120px; resize: vertical; }

.contact-form button[type="submit"] {
  background-color: #444;
  color: #ffffff;
  border: 1px solid #666;
  padding: 7px 20px;
  font-family: Verdana, Arial, sans-serif;
  font-size: 11px;
  font-weight: bold;
  cursor: pointer;
  text-transform: uppercase;
}

.contact-form button[type="submit"]:hover { background-color: #555; }

.contact-address {
  color: #ffffff;
  font-size: 11px;
  line-height: 1.8;
  margin-top: 20px;
}

.contact-address h3 { color: #ffffff; font-size: 12px; margin-bottom: 8px; }

.map-embed { margin-top: 20px; }
.map-embed iframe { border: 0; display: block; width: 100%; max-width: 580px; }

/* --- Footer ------------------------------------------------ */
#footer {
  clear: both;
  border-top: 1px solid #333;
  padding: 10px 0;
}

#footer-inner {
  margin: 0 auto;
  width: 980px;
  overflow: hidden;
}

#footer-inner table { width: 100%; border: 0; }
#footer-inner td { color: #797979; font-size: 11px; vertical-align: middle; }
#footer-inner td:first-child { text-align: left; }
#footer-inner td:last-child { text-align: right; }
#footer-inner a { color: #ffffff; }
#footer-inner a:hover { text-decoration: none; }

/* --- Mobile ------------------------------------------------ */
@media (max-width: 1020px) {
  #header-inner,
  #main-inner,
  #footer-inner { width: 100%; padding: 0 10px; }

  #masthead img { width: 100%; height: auto; }

  #block-menu-primary-links ul.menu { display: none; flex-direction: column; }
  #block-menu-primary-links ul.menu.open { display: flex; }
  #block-menu-primary-links ul.menu li,
  #block-menu-primary-links ul.menu li.last { width: 100%; height: auto; background-image: none; background-color: #333; border-bottom: 1px solid #444; }
  #block-menu-primary-links ul.menu li a { width: 100%; height: auto; line-height: 1; padding: 10px 14px; text-align: left; }

  #block-menu-primary-links ul.menu li .dropdown { position: static; display: none; width: 100%; border: none; border-top: 1px solid #444; }
  #block-menu-primary-links ul.menu li.open .dropdown { display: block; }
  #block-menu-primary-links ul.menu li .dropdown a { padding-left: 28px; background-color: #2a2a2a; }

  #nav-toggle { display: block; }

  #feature-blocks .feature-block { width: 100%; float: none; height: auto; margin-bottom: 10px; }

  #content { float: none; width: 100%; padding: 0 0 20px 0; }
  #sidebar-right { float: none; width: 100%; margin-top: 20px; }
  #sidebar-right .block { margin-bottom: 10px; }

  #footer-inner table, #footer-inner tr, #footer-inner td { display: block; text-align: left !important; }
  #footer-inner td { padding: 2px 0; }
}

@media (max-width: 480px) {
  #logo img { width: 160px; height: auto; }
}
