/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/


/* === Container Details Table === */
.container-details {
  width: 100%;
  border-collapse: collapse;
  margin: 25px 0;
  border: 2px solid #4184BD;
  background-color: #fff;
}

/* Header */
.container-details thead {
  background-color: #4184BD;
  color: #fff;
}

.container-details th {
  padding: 14px 16px;
  text-align: left;
  font-weight: bold;
  border-bottom: 3px solid #F1A208;
  text-transform: uppercase;
}

/* Table Body */
.container-details td {
  padding: 14px 16px;
  border-bottom: 1px solid #ddd;
  vertical-align: top;
}

.container-details tbody tr:nth-child(even) {
  background-color: #f9fbfd;
}

.container-details tbody tr:hover {
  background-color: #eef6fc;
}

/* Category Column */
.container-details td:first-child {
  font-weight: 500;
  color: #000;
  border-right: 1px solid #000;
  width: 25%;
  white-space: nowrap;
}

/* Lists & Paragraphs */
.container-details ul {
  margin: 0;
  padding-left: 20px;
  list-style: disc;
}

.container-details ul li {
  margin: 4px 0;
}

.container-details p {
  margin: 0;
  line-height: 1.5;
  color: #333;
}

/* Responsive Styles */
@media (max-width: 768px) {
  .container-details,
  .container-details thead,
  .container-details tbody,
  .container-details th,
  .container-details td,
  .container-details tr {
    display: block;
    width: 100%;
  }

  .container-details thead {
    display: none;
  }

  .container-details tr {
    border: 1px solid #ccc;
    border-radius: 5px;
    margin-bottom: 12px;
    overflow: hidden;
  }

  .container-details td {
    border: none;
    border-bottom: 1px solid #eee;
    padding: 10px 15px;
  }

  .container-details td:first-child {
    background-color: #4184BD;
    color: #fff;
    border-right: none;
    border-bottom: 2px solid #F1A208;
  }
}



/* === Ironclad Service Area Menu === */
#menu-1-e059fa0 {
  --brand: #4184BD;   /* main color */
  --hover: #F1A208;   /* hover color */
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px 18px;
}

/* Ensure SmartMenus vertical style doesn't override grid */
#menu-1-e059fa0.sm-vertical > li {
  float: none;
  width: auto;
}
#menu-1-e059fa0 > li { margin: 0; }

/* === Link styling === */
#menu-1-e059fa0 .menu-link {
  position: relative;
  display: block;
  padding: 10px 12px 10px 38px; /* left space for icon */
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  text-decoration: none;
  line-height: 1.35;
  color: #000; /* default black */
  background: #fff;
  transition: background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

/* === Map pin icon === */
#menu-1-e059fa0 .menu-link::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background: no-repeat center / contain
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/></svg>");
  opacity: 0.9;
}

/* Hover/focus state */
#menu-1-e059fa0 .menu-link:hover,
#menu-1-e059fa0 .menu-link:focus {
  color: var(--hover);
  border-color: var(--brand);
  background: #f8fafc;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand) 20%, transparent);
  outline: none;
}

/* Hover changes icon color */
#menu-1-e059fa0 .menu-link:hover::before,
#menu-1-e059fa0 .menu-link:focus::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23F1A208'><path d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/></svg>");
}

/* Active/current page */
#menu-1-e059fa0 .menu-link[aria-current="page"],
#menu-1-e059fa0 .menu-link.elementor-item-active {
  color: var(--brand);
  border-color: var(--brand);
}

/* === Responsive grid === */
@media (max-width: 1024px) {
  #menu-1-e059fa0 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 16px; }
}
@media (max-width: 640px) {
  #menu-1-e059fa0 { grid-template-columns: 2fr; gap: 10px; }
  #menu-1-e059fa0 .menu-link { padding-left: 36px; }
}



/* --- Global ratio you can tweak once --- */
:root{
  --post-thumb-ratio: 16 / 9;   /* try 3 / 2 or 4 / 3 if you prefer */
  --post-thumb-pad: 56.25%;     /* fallback for 16:9 (change if you change ratio) */
}

/* Scope to Elementor Posts widget only (works across all pages) */
.elementor-widget-posts .elementor-posts--skin-card .elementor-post__thumbnail,
.elementor-widget-posts .elementor-posts--skin-classic .elementor-post__thumbnail{
  position: relative;
  overflow: hidden;
  aspect-ratio: var(--post-thumb-ratio);
}

/* Fallback for older browsers without aspect-ratio */
@supports not (aspect-ratio: 1 / 1){
  .elementor-widget-posts .elementor-posts--skin-card .elementor-post__thumbnail,
  .elementor-widget-posts .elementor-posts--skin-classic .elementor-post__thumbnail{
    padding-bottom: var(--post-thumb-pad);
  }
}

/* Make the image fill the box */
.elementor-widget-posts .elementor-post__thumbnail img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 767px){
  :root{ --post-thumb-ratio: 4 / 3; --post-thumb-pad: 75%; }
}

