@charset "UTF-8";
/* Ciphershade488 Custom Cyber Theme CSS - FINAL, Responsive, Box-Adaptive Images */

:root {
    --cs-dark: #0a0a0a;
    --cs-section-bg: #0f0f0f;
    --cs-primary: #B0FC38;
    --cs-secondary: #FF00FF;
    --cs-shadow-color: 176,252,56;
    --cs-shadow: 0 0 20px rgba(var(--cs-shadow-color), 0.8), 0 0 10px rgba(var(--cs-shadow-color), 0.5);
    --bs-body-color: #e0e0e0;
    --bs-body-bg: var(--cs-dark);
    --bs-body-font-family: 'Montserrat', sans-serif;
}

body { margin: 0; font-family: var(--bs-body-font-family); color: #e0e0e0; background: var(--cs-dark); }

h1,h2,h3,h4 { color: #fff; font-weight: 700; line-height: 1.2; }

.page-section h2.section-heading { font-size:2.2rem; margin-bottom:0.75rem; color:var(--cs-primary); text-shadow:0 0 8px rgba(var(--cs-shadow-color),.7); font-family:'Roboto Mono',monospace; }
.page-section h3.section-subheading { font-size:1.05rem; font-style:italic; margin-bottom:2rem; color:#a0a0a0 !important; }

#mainNav { padding-top:.5rem; padding-bottom:.5rem; background:rgba(10,10,10,.97)!important; border-bottom:2px solid var(--cs-primary); }
.navbar-brand { color:#fff!important; text-shadow:0 0 8px var(--cs-primary); font-family:'Roboto Mono',monospace; font-weight:700; font-size:1.5rem; }
.nav-link { color:#e0e0e0!important; }
.nav-link:hover { color:var(--cs-primary)!important; text-shadow:0 0 5px var(--cs-primary); }

header.masthead { padding-top:6.2rem; padding-bottom:3.5rem; background:var(--cs-dark); }
header.masthead .masthead-subheading { color:var(--cs-secondary); font-family:'Roboto Mono',monospace; font-size:1.2rem; margin-bottom:0.5rem; }
header.masthead .masthead-heading { color:#fff; text-shadow:var(--cs-shadow); font-size:2.4rem; line-height:1.1; }

.btn-primary, .btn-success { background:var(--cs-primary); border-color:var(--cs-primary); color:var(--cs-dark)!important; font-weight:700; }
.btn-primary:hover, .btn-success:hover { background:#92e01a; border-color:#92e01a; box-shadow:0 0 10px var(--cs-primary); }
.btn-xl { padding:.8rem 2rem; font-size:1.125rem; }
.btn-whatsapp { background:#25d366; border-color:#25d366; color:#fff!important; font-weight:bold; }
.btn-whatsapp:hover { background:#128c7e; border-color:#128c7e; box-shadow:0 0 15px rgba(37,211,102,0.8); }

.service-card, .voucher-card { background:#1a1a1a; border:1px solid rgba(176,252,56,0.3); border-radius:10px; padding:1.2rem; margin-bottom:1.1rem; height:100%; box-shadow:0 4px 15px rgba(0,0,0,0.8); text-align:center; display:flex;flex-direction:column;align-items:center; }
.service-card:hover, .voucher-card:hover { background:#222; box-shadow:var(--cs-shadow); transform:translateY(-5px); }
.card-title { color:#fff; font-size:1.2rem; margin-top:0.6rem; margin-bottom:1rem; font-weight:700; }

/* RESPONSIVE FLEXIBLE IMAGE SLOT - BOXES AUTO-SIZE */
.img-slot {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end; /* natural bottom alignment for images of different heights */
  background: #111;
  border: 1px dashed rgba(var(--cs-shadow-color), 0.3);
  border-radius: 5px;
  margin-bottom: 0.4rem;
  min-height: 40px;
  max-height: 110px;
  overflow: hidden;
  padding: 5px;
  box-sizing: border-box;
}

.card-title 
{
    color: #FFFFFF;
    font-size: 1.6rem; 
    margin-bottom: 1.5rem; 
    font-weight: 700;
}

.img-slot 
{
    /* Increased height for large square logos */
    max-height: 140px; 
    min-height: 100px; 
    padding: 10px; /* Added internal padding */
    margin-bottom: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px dashed rgba(var(--cs-shadow-color), 0.3); 
    border-radius: 5px;
    background-color: #111;
    overflow: hidden; 
}
/* FIX 2: Ensuring the 1024x1024 image scales correctly */
.img-slot img {
    max-width: 100%;
    /* Set a more generous max-height for the 1:1 aspect ratio logos */
    max-height: 120px; 
    width: auto; 
    height: auto; 
    object-fit: contain; /* Ensures the whole image fits without cropping */
    display: block;
}

.list-group-item { background:transparent!important; color:#e0e0e0; border-bottom:1px dashed rgba(255,255,255,0.1)!important; padding:.45rem 0!important; text-align:left; line-height:1.2; }
.list-group-item:last-child { border-bottom:none!important; }
.list-group-item i { color:var(--cs-primary); }
.list-col { padding:0 8px; }

.extra-service-heading { margin-top:1.3rem; margin-bottom:0.5rem; }
.contact-section-margin { margin-top:2rem; }
.row { row-gap:0.7rem; margin-right:0; margin-left:0; }
.footer { background:#0d0d0d; color:#a0a0a0; border-top:1px solid rgba(var(--cs-shadow-color),0.1); }
.footer a.link-dark, .footer a.btn-dark { color:#a0a0a0!important; background:#222!important; border-color:#333!important; }
.footer a.btn-dark:hover { color:var(--cs-primary)!important; }
.text-muted { color:#a0a0a0!important; }
.text-light { color:#fff!important; }
.bg-dark { background:var(--cs-dark)!important; }
.page-section { background:var(--cs-section-bg); padding-top:1.2rem; padding-bottom:1.2rem; }
