/* Base */
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400;600&family=Roboto:wght@300;400;500;700&display=swap');

body {
  margin: 0;
  font-family: 'Roboto', sans-serif;
  color: #333;
  scroll-behavior: smooth;
}

html {
  scroll-behavior: smooth; /* optional: smooth scroll */
  scroll-padding-top: 70px; /* adjust based sa header height */
}

h1,h2,h3 { font-family: 'Raleway', sans-serif; }
h2 { font-size: 2.5em }

section#products h2 { color: #fff !important; }

.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* Header / Nav */
.header {
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.nav-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
}

.logo-img { height: auto; }

/* Desktop nav (visible on large screens) */
.nav-desktop {
  display: flex;
  align-items: center;
}

.nav-desktop ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-desktop li { margin-left: 20px; }

.nav-desktop a {
  text-decoration: none;
  color: #333;
  font-weight: 500;
  transition: color 0.3s ease;
}
.nav-desktop a:hover,
.nav-desktop a:active { color: #0356ba; }

.nav-desktop ul li a.active,
.nav-mobile ul li a.active {
  color: #013274;   /* highlight color */
  font-weight: 600;
  text-decoration: none; /* remove underline */
  border: none;          /* remove border */
}

.nav-mobile ul li a.active {
  border: none; /* mobile menu usually doesn't need underline */
  background: #f0f0f0; /* highlight background instead */
  text-decoration: none;
}

/* Mobile nav trigger (hidden on desktop) */
.nav-mobile { display: none; }
.nav-mobile button {
  background: none;
  border: none;
  font-size: 2rem;
  cursor: pointer;
}

/* Hero */
.hero{
    position:relative;
    background:url("images/australian-red-claw-crayfish-cebu-philippines.jpg") center center/cover no-repeat;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
    overflow:hidden;
}

.hero .overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,50,.50);
}

.hero-content{
    position:relative;
    z-index:2;
    width:100%;
    max-width:850px;
    padding:0 20px;
}

.hero h1{
    font-size:3rem;
    line-height:1.2;
    margin-bottom:15px;
}

.hero p{
    font-size:1.2rem;
    line-height:1.7;
    margin-bottom:30px;
}

.btn-primary { background-color: #003274; color: #fff; padding: 12px 24px; border-radius: 6px; text-decoration: none; display: inline-block; margin-top: 20px; transition: opacity 0.3s ease; }
.btn-primary:hover { opacity: 0.9; }

/* About */
.about { padding: 60px 20px; background: #fff; text-align: center; }
.about p { max-width: 800px; margin: 0 auto; line-height: 1.6; }

/* Products */
.products { padding: 60px 20px; background: #000522; text-align: center; }
.products .grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 20px; }
.card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 6px rgba(0,0,0,0.1); transition: transform 0.3s ease; }
.card:hover { transform: scale(1.05); }
.img-wrap { position: relative; }
.img-wrap img { width: 100%; height: 200px; object-fit: cover; display: block; }
.gradient { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0.4), rgba(0,0,50,0.7)); }
.price { color: #0a2a4a; font-weight: bold; margin: 10px 0 0; }
.caption { font-size: 0.9rem; color: #666; margin-bottom: 15px; }

/* ==========================================
   STARTER KIT PRODUCT CARDS
========================================== */

.products .card img{
    width:100%;
    height:270px;
    object-fit:cover;
    object-position:center;
    display:block;
}

/* ==========================
   STARTER INTRO
========================== */

.starter-intro{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    align-items:center;
}

.starter-intro img{
    width:100%;
    border-radius:10px;
    display:block;
}

/* Starter features */
.starter-features{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    gap:30px;
    margin-top:20px;
    text-align:center;
}

.starter-features div{
    flex:1;
}

.starter-features i{
    font-size:28px;
    color:#0a3d7a;
    margin-bottom:10px;
}

.starter-features p{
    margin:0;
}


/* ==========================================
   STARTER KIT SECTION
==========================================*/

.starter-products{
    background:#0a2a4a;
}

.starter-products h2{
    color:#fff;
    text-align:center;
    margin-bottom:40px;
}

.starter-kit-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.starter-kit-grid .card{
    padding-bottom:25px;
}

/* ===========================
   STARTER KIT
=========================== */

.starter-products{
    background:#0a2a4a;
    padding:60px 20px;
}

.starter-products h2{
    color:#fff;
    text-align:center;
    margin-bottom:40px;
}

.starter-kit-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:25px;
}

.starter-kit-grid .card{
    overflow:hidden;
    text-align:center;
    padding-bottom:25px;
}

.starter-kit-grid .card img {
  display: block;
  width: 100%;
  max-height: 270px;
  object-fit: cover;
  object-position: top center;
}

.starter-kit-grid .card h3{
    padding:20px 20px 10px;
}

.starter-kit-grid .card p{
    padding:0 20px;
}

.starter-kit-grid .btn-primary{
    margin-top:15px;
}

.starter-kit-grid .btn-primary{
    margin-top:10px;
}


/* ===========================
   INFO GRID
=========================== */

.starter-info{
    padding:60px 20px;
}

.starter-info-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
}

.starter-info-grid .card{
    padding:20px;
    text-align:center;
}

.starter-info-grid h3{
    margin: 0 0 15px 0
}

.starter-info-grid p{
    line-height:1.8;
}

.starter-info-grid strong{
    display:block;
    margin-top:0;
    color:#0356ba;
}

.cost-list{
    margin-top:15px;
}

.cost-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin:8px 0;
}

.cost-item span{
    white-space:nowrap;      
    font-size:16px;
}

.cost-item strong{
    color:#0a2a4a;
    font-size:16px;
    font-weight:700;
    white-space:nowrap;
}

.cost-total{
    margin-top:14px;
    color:#0a2a4a;
    font-size:16px;      
    font-weight:700;
    text-align:left;
}

/* ==========================
   STARTER KIT RESPONSIVE
========================== */

@media screen and (max-width:768px){
    /* Starter Intro */

    .starter-intro{
        grid-template-columns:1fr;
        gap:30px;
        text-align:center;
    }
    
    .starter-intro > div:last-child{
        order:-1;      /* image first */
    }
    
    .starter-intro img{
        width:100%;
        max-width:100%;
    }
    
    .starter-intro div:last-child img{
        max-width:500px;
        margin:auto;
    }
    
    .starter-features{
        flex-direction:column;
        align-items:center;
        gap:20px;
    }

    .starter-features div{
        width:100%;
    }

    .starter-kit-grid, .starter-info-grid{
        grid-template-columns:1fr;
    }

    .starter-info-grid, .starter-info-grid{
        grid-template-columns:1fr;
    }

    .starter-kit-grid .card img, .products .card img{
        max-height:270px;
    }

}

/* File Upload */
input[type="file"] { display: none; }
.proof-wrapper { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; width: 100%; }
.file-upload-label { background: #0356ba; color: #fff; padding: 12px 20px; border-radius: 6px; font-size: 1rem; font-weight: 600; cursor: pointer; flex: 1; box-sizing: border-box; }
.file-upload-label:hover { background: #024699; }
#file-chosen { font-size: 0.9rem; color: #5a5858; margin-top: 6px; flex-basis: 100%; }
.info-icon { font-size: 1.4rem; cursor: help; color: #013274; }

/* Order Form */
.order { padding: 60px 20px; background: #fff; text-align: center; }
#orderForm {
  background: #000522;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .5);
  padding: 40px;
  border-radius: 10px;
  max-width: 800px;
  margin: 0 auto;
}
select.order-select {
  width: 90%;
  padding: 12px;
  font-size: 1rem;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #013274;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  text-align: center;
}
select.order-select option {
  color: #333;
  background: #fff;
}

.order .form-row { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1rem; }
.order .form-row input, .order .form-row select { flex: 1; padding: 12px; font-size: 1rem; border: 1px solid #ddd; border-radius: 6px; width: 100%; box-sizing: border-box; }
.file-label.disabled { opacity: 0.5; cursor: not-allowed; pointer-events: none; }
#submitOrder { background: #0356ba; color: #fff; border: none; padding: 12px 20px; border-radius: 6px; cursor: pointer; font-size: 1rem; font-weight: 600; transition: opacity 0.3s ease; }
#submitOrder:hover:not(:disabled) { opacity: 0.9; }
#submitOrder:disabled { background-color: #ccc; cursor: not-allowed; opacity: 0.6; color: #fff; }
#formMsg { margin-top: 0.75rem; font-size: 0.95rem; font-weight: 500; }

/* Contact */
.contact { padding: 60px 20px; background: #000522; color: #fff; }
.contact-container { display: grid; grid-template-columns: 2fr 1fr; gap: 40px; max-width: 1200px; margin: 0 auto; }
#contactForm { background: #fff; color: #333; box-shadow: 0 2px 6px rgba(0,0,0,.5); padding: 40px; border-radius: 10px; }
.contact-form-row { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1rem; }
.contact-form-row input, .contact-form-row textarea { flex: 1; padding: 12px; font-size: 1rem; border: 1px solid #ddd; border-radius: 6px; width: 100%; box-sizing: border-box; }
.contact-form-row textarea { min-height: 120px; resize: vertical; }
#submitContact { background: #0356ba; color: #fff; border: none; padding: 12px 20px; border-radius: 6px; cursor: pointer; font-size: 1rem; font-weight: 600; transition: opacity 0.3s ease; width: 100%; }
#submitContact:hover:not(:disabled) { opacity: 0.9; }
.contact-info .details i { color: #0d47a1; margin-right: 8px; }

.contact-info .social-icons a {
  color: #ffffff;       /* white by default */
  font-size: 1.5rem;    /* adjust size as needed */
  margin: 0 10px;
  transition: color 0.3s ease;
}
.contact-info .social-icons a:first-child {
  margin-left: 0; /* removes left margin of first icon */
}

.contact-info .social-icons a:hover {
  color: #0356ba;       /* blue on hover */
}

/* --------------------
  Footer
--------------------- */
/* Footer Layout (two columns) */
.footer {
  background: #111;
  color: #ccc;
  padding: 20px 0;
}

.footer-container {
  display: grid;
  grid-template-columns: 1fr 1fr; /* two equal columns */
  align-items: center;
  gap: 20px;
}

/* explicit left column styling */
.footer-col.left {
  text-align: left;
}

/* explicit right column styling */
.footer-col.right {
  text-align: right;
}

/* shared paragraph styling */
.footer-col p {
  margin: 0;
  font-size: 14px;
  line-height: 1.3;
}

/* developer credit */
.developer {
  font-size: 12px;
  color: #aaa;
}
.developer a {
  color: #ccc;
  text-decoration: none;
}
.developer a:hover {
  color: #fff;
  text-decoration: none;
  transition: color 0.3s ease;
}

/* popup modal */
.modal {
  display: none; 
  position: fixed; 
  z-index: 1000; 
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.6);
}
.modal-content {
  background: #fff; 
  margin: 10% auto; 
  padding: 20px; 
  border-radius: 8px; 
  width: 320px; 
  text-align: center;
  position: relative;
}
.close {
  position: absolute;
  top: 10px; right: 15px;
  font-size: 20px; cursor: pointer;
}

/* Tablet */
@media (max-width:991px){
    .nav-container {
        padding: 10px 20px;
    }
    .hero{
        min-height:70vh;
    }

    .hero h1{
        font-size:2.5rem;
    }
    .logo-img {
        width: 80%;
        height: auto;
    }

}

/* Mobile */
@media (max-width:768px){

    .hero{
        min-height:520px;
        padding:90px 20px 70px;
    }

    .hero-content{
        max-width:100%;
    }

    .hero h1{
        font-size:2rem;
        line-height:1.25;
    }

    .hero p{
        font-size:1rem;
        line-height:1.6;
        margin-bottom:25px;
    }

    .btn-primary{
        padding:12px 24px;
    }

}

/* Small phones */
@media (max-width:480px){

    .hero{
        min-height:450px;
        padding:80px 20px 60px;
    }

    .hero h1{
        font-size:1.7rem;
    }

    .hero p{
        font-size:.95rem;
    }

}

@media (max-width: 767px) {
    h2 {font-size: 1.5em}
    .hero-content {padding: 0 20px;}
    .logo-img {
        max-width: 90%;
        height: auto;
    }

/* Mobile: stack columns and center text */
@media (max-width: 768px) {
  .nav-container {
    padding: 10px 20px;
  }
  .footer-container {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .footer-col.left,
  .footer-col.right {
    text-align: center;
  }
}

@media (max-width: 768px) {
  .contact-form-row {
    flex-direction: column;  /* stack inputs vertically */
  }
  .contact-form-row input,
  .contact-form-row textarea {
    width: 100%; /* make each field full width */
  }
}

/* Responsive tweaks */
@media(max-width: 900px) {
  .contact-container { grid-template-columns: 1fr; }
  .contact-info { align-items: center; text-align: center; }
  .contact-info .qr-codes img { margin: 0 auto; }
}
@media(max-width: 768px) {
  /* Mobile nav */
  .nav-desktop {
    position: absolute;
    top: 60px;
    right: 20px;
    background: #fff;
    width: 200px;
    border-radius: 5px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.2);
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: all 0.28s ease;
    flex-direction: column;
    display: block; /* ok on mobile because hidden via max-height/opacity */
    pointer-events: none;
  }
  .nav-desktop.active {
    max-height: 500px;
    opacity: 1;
    pointer-events: auto;
  }
  .nav-desktop ul { flex-direction: column; padding: 10px 0; }
  .nav-desktop li { margin: 10px 0; text-align: center; }
  .nav-mobile { display: block; }
  .hero h1 { font-size: 2rem; }
  .form-row { flex-direction: column; }
  .footer-container { grid-template-columns: 1fr; text-align: center; }
}