/* ===================================
   StoryBoard AI Template - Responsive CSS
   ===================================
   
   Additional responsive styles and breakpoints
   Complementing main.css with detailed responsive behavior
   
   =================================== */

/* ===== RESPONSIVE BREAKPOINTS ===== */
/* Extra small devices (phones, 576px and down) */
@media (max-width: 575.98px) {
  .container {
    padding-left: 15px;
    padding-right: 15px;
  }
  
  /* Header adjustments */
  .navbar-brand {
    font-size: 1.22rem;
  }
  
  .navbar-nav {
    margin-top: 1rem;
  }
  
  .navbar-nav .nav-link {
    padding: 0.5rem 0;
    text-align: center;
  }
  
  /* Hero section mobile */
  .hero-section {
    padding-top: 100px;
    min-height: 90vh;
    text-align: center;
  }
  
  #hero-title-1 {
    font-size: 2rem;
    margin-bottom: 1rem;
  }
  
  #hero-subtitle-1 {
    font-size: 1.14rem;
    margin-bottom: 1rem;
  }
  
  #hero-desc-1 {
    font-size: 1.07rem;
  }
  
  /* Section spacing */
  .section,
  .page-section {
    padding: 2rem 0;
  }
  
  /* Cards mobile */
  .feature-card,
  .service-card,
  .price-card,
  .team-member,
  .review-card,
  .case-study-card,
  .blog-card,
  .career-card,
  .info-card,
  .element-item {
    padding: 1.5rem;
    margin-bottom: 1.56rem;
  }
  
  /* Service cards mobile */
  .service-image,
  .case-study-image,
  .blog-image {
    height: 180px;
  }
  
  /* Price cards mobile */
  .price {
    font-size: 2rem;
  }
  
  .price-card.featured {
    transform: none;
    margin-bottom: 2rem;
  }
  
  /* Team photos mobile */
  .team-photo {
    width: 100px;
    height: 100px;
  }
  
  /* Process steps mobile */
  .process-step {
    margin-bottom: 2rem;
  }
  
  .step-number {
    width: 45px;
    height: 45px;
    font-size: 1.21rem;
  }
  
  /* Timeline mobile */
  .timeline::before {
    left: 20px;
  }
  
  .timeline-item {
    margin-left: 50px;
    margin-bottom: 2rem;
  }
  
  .timeline-date {
    margin-bottom: 1rem;
    min-width: 80px;
    font-size: 0.88rem;
  }
  
  .timeline-content {
    padding: 1.5rem;
  }
  
  /* Contact form mobile */
  .contact-form {
    padding: 1.5rem;
  }
  
  .form-control {
    padding: 0.75rem;
    font-size: 1.02rem;
  }
  
  /* Gallery mobile */
  .gallery-image {
    height: 150px;
  }
  
  /* Footer mobile */
  .footer {
    text-align: center;
  }
  
  .footer .col-lg-4 {
    margin-bottom: 2rem;
  }
  
  /* Button mobile */
  .btn {
    padding: 0.75rem 1.5rem;
    font-size: 0.97rem;
  }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 767.98px) {
  /* Hero adjustments */
  #hero-title-1 {
    font-size: 2.56rem;
  }
  
  #hero-subtitle-1 {
    font-size: 1.42rem;
  }
  
  /* Cards small */
  .feature-card,
  .service-card,
  .price-card,
  .team-member,
  .review-card,
  .case-study-card,
  .blog-card,
  .career-card,
  .info-card,
  .element-item {
    padding: 1.75rem;
  }
  
  /* Service images */
  .service-image,
  .case-study-image,
  .blog-image {
    height: 200px;
  }
  
  /* Timeline small */
  .timeline::before {
    left: 25px;
  }
  
  .timeline-item {
    margin-left: 55px;
  }
  
  .timeline-date {
    min-width: 90px;
  }
  
  /* Gallery small */
  .gallery-image {
    height: 180px;
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991.98px) {
  /* Hero medium */
  .hero-section {
    padding-top: 90px;
  }
  
  #hero-title-1 {
    font-size: 3rem;
  }
  
  #hero-subtitle-1 {
    font-size: 1.49rem;
  }
  
  /* Cards medium */
  .feature-card,
  .service-card,
  .price-card,
  .team-member,
  .review-card,
  .case-study-card,
  .blog-card,
  .career-card,
  .info-card,
  .element-item {
    padding: 2rem;
  }
  
  /* Team photos medium */
  .team-photo {
    width: 130px;
    height: 130px;
  }
  
  /* Process steps medium */
  .step-number {
    width: 55px;
    height: 55px;
    font-size: 1.43rem;
  }
  
  /* Timeline medium */
  .timeline::before {
    left: 40%;
  }
  
  .timeline-item {
    margin-left: 0;
  }
  
  .timeline-item:nth-child(even) {
    flex-direction: row;
  }
  
  .timeline-item:nth-child(odd) {
    flex-direction: row-reverse;
  }
  
  .timeline-date {
    margin: 0 1.5rem;
    min-width: 100px;
  }
  
  /* Gallery medium */
  .gallery-image {
    height: 200px;
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) and (max-width: 1199.98px) {
  /* Hero large */
  #hero-title-1 {
    font-size: 3.28rem;
  }
  
  #hero-subtitle-1 {
    font-size: 1.56rem;
  }
  
  /* Cards large */
  .feature-card,
  .service-card,
  .price-card,
  .team-member,
  .review-card,
  .case-study-card,
  .blog-card,
  .career-card,
  .info-card,
  .element-item {
    padding: 2.25rem;
  }
  
  /* Team photos large */
  .team-photo {
    width: 140px;
    height: 140px;
  }
  
  /* Gallery large */
  .gallery-image {
    height: 220px;
  }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  /* Hero extra large */
  #hero-title-1 {
    font-size: 3.53rem;
  }
  
  #hero-subtitle-1 {
    font-size: 1.59rem;
  }
  
  /* Cards extra large */
  .feature-card,
  .service-card,
  .price-card,
  .team-member,
  .review-card,
  .case-study-card,
  .blog-card,
  .career-card,
  .info-card,
  .element-item {
    padding: 2.5rem;
  }
  
  /* Team photos extra large */
  .team-photo {
    width: 150px;
    height: 150px;
  }
  
  /* Gallery extra large */
  .gallery-image {
    height: 250px;
  }
}

/* ===== ORIENTATION RESPONSIVE ===== */
@media (orientation: landscape) and (max-height: 500px) {
  .hero-section {
    min-height: 100vh;
    padding-top: 60px;
  }
  
  #hero-title-1 {
    font-size: 2.63rem;
  }
  
  #hero-subtitle-1 {
    font-size: 1.22rem;
  }
  
  .navbar {
    padding: 0.25rem 0;
  }
}

/* ===== CONTAINER RESPONSIVE ===== */
@media (min-width: 1400px) {
  .container {
    max-width: 1320px;
  }
}

/* ===== NAVIGATION RESPONSIVE ===== */
@media (max-width: 991.98px) {
  .navbar-collapse {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 8px;
    margin-top: 1rem;
    padding: 1rem;
  }
  
  .navbar-nav .nav-link {
    color: var(--neutral-dark);
  }
  
  .navbar-nav .nav-link:hover {
    color: var(--primary-coral);
  }
}

/* ===== GRID RESPONSIVE ===== */
@media (max-width: 575.98px) {
  .row {
    margin-left: -10px;
    margin-right: -10px;
  }
  
  .row > * {
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* ===== FEATURE ITEMS RESPONSIVE ===== */
@media (max-width: 767.98px) {
  .feature-item {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
  }
  
  .feature-item:hover {
    transform: translateY(-5px);
  }
  
  .feature-item .feature-icon {
    font-size: 1.85rem;
  }
}

/* ===== ACCORDION RESPONSIVE ===== */
@media (max-width: 575.98px) {
  .accordion-button {
    padding: 1rem;
    font-size: 1.01rem;
  }
  
  .accordion-body {
    padding: 1rem;
  }
}

/* ===== CONTACT RESPONSIVE ===== */
@media (max-width: 767.98px) {
  .contact-icon {
    font-size: 1.55rem;
  }
  
  .contact-section .row.mt-5 .col-lg-4 {
    margin-bottom: 1.66rem;
  }
}

/* ===== BREADCRUMB RESPONSIVE ===== */
@media (max-width: 575.98px) {
  .breadcrumb-nav {
    padding: 0.5rem 0;
  }
  
  .breadcrumb-item img {
    width: 20px;
    height: 20px;
  }
}

/* ===== SPACE PAGE RESPONSIVE ===== */
@media (max-width: 767.98px) {
  .space-container {
    margin-top: 70px;
  }
}

/* ===== TYPOGRAPHY RESPONSIVE ===== */
@media (max-width: 575.98px) {
  h1 { font-size: 1.93rem; }
  h2 { font-size: 1.67rem; }
  h3 { font-size: 1.45rem; }
  h4 { font-size: 1.22rem; }
  h5 { font-size: 1.21rem; }
  h6 { font-size: 1rem; }
  
  p {
    font-size: 0.97rem;
  }
}

/* ===== HOVER STATES RESPONSIVE ===== */
@media (hover: none) {
  .feature-card:hover,
  .service-card:hover,
  .price-card:hover,
  .team-member:hover,
  .review-card:hover,
  .case-study-card:hover,
  .blog-card:hover,
  .career-card:hover,
  .info-card:hover,
  .element-item:hover {
    transform: none;
  }
  
  .navbar-nav .nav-link:hover {
    transform: none;
  }
  
  .btn-primary:hover {
    transform: none;
  }
  
  .hero-image:hover {
    transform: none;
  }
  
  .gallery-image:hover {
    transform: none;
  }
}

/* ===== PRINT RESPONSIVE ===== */
@media print {
  .hero-section {
    background: none;
    color: black;
    min-height: auto;
    page-break-after: always;
  }
  
  .section,
  .page-section {
    padding: 1rem 0;
    page-break-inside: avoid;
  }
  
  .feature-card,
  .service-card,
  .price-card,
  .team-member,
  .review-card,
  .case-study-card,
  .blog-card,
  .career-card,
  .info-card,
  .element-item {
    box-shadow: none;
    border: 1px solid #c2c2c2;
    page-break-inside: avoid;
  }
  
  .timeline::before {
    display: none;
  }
  
  .timeline-item {
    margin-left: 0;
    page-break-inside: avoid;
  }
}

/* ===== REDUCED MOTION RESPONSIVE ===== */
@media (prefers-reduced-motion: reduce) {
  .hero-section,
  .feature-card,
  .service-card,
  .price-card,
  .team-member,
  .review-card,
  .case-study-card,
  .blog-card,
  .career-card,
  .info-card,
  .element-item,
  .feature-item,
  .gallery-image,
  .hero-image {
    transition: none;
  }
  
  .navbar-nav .nav-link,
  .btn,
  .form-control {
    transition: none;
  }
}

/* ===== HIGH CONTRAST RESPONSIVE ===== */
@media (prefers-contrast: high) {
  .feature-card,
  .service-card,
  .price-card,
  .team-member,
  .review-card,
  .case-study-card,
  .blog-card,
  .career-card,
  .info-card,
  .element-item {
    border: 2px solid #000;
  }
  
  .form-control {
    border: 2px solid #000;
  }
  
  .btn {
    border: 2px solid #000;
  }
}

/* ===== DEVICE SPECIFIC RESPONSIVE ===== */
/* iPhone specific */
@media only screen 
  and (device-width: 375px) 
  and (device-height: 812px) 
  and (-webkit-device-pixel-ratio: 3) {
  
  .hero-section {
    padding-top: 110px;
  }
  
  .navbar {
    padding: 0.5rem 0;
  }
}

/* iPad specific */
@media only screen 
  and (device-width: 768px) 
  and (device-height: 1024px) 
  and (-webkit-device-pixel-ratio: 2) {
  
  .hero-section {
    padding-top: 100px;
  }
  
  .feature-item {
    gap: 1.5rem;
  }
  
  .timeline-date {
    margin: 0 2rem;
  }
}

/* ===== ACCESSIBILITY RESPONSIVE ===== */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Focus visible for keyboard navigation */
@supports selector(:focus-visible) {
  .btn:focus:not(:focus-visible) {
    outline: none;
  }
  
  .form-control:focus:not(:focus-visible) {
    outline: none;
  }
  
  .nav-link:focus:not(:focus-visible) {
    outline: none;
  }
}

/* ===== UTILITY RESPONSIVE ===== */
@media (max-width: 575.98px) {
  .d-sm-none {
    display: none !important;
  }
  
  .d-sm-block {
    display: block !important;
  }
}

@media (max-width: 767.98px) {
  .d-md-none {
    display: none !important;
  }
  
  .d-md-block {
    display: block !important;
  }
}

@media (max-width: 991.98px) {
  .d-lg-none {
    display: none !important;
  }
  
  .d-lg-block {
    display: block !important;
  }
}

@media (max-width: 1199.98px) {
  .d-xl-none {
    display: none !important;
  }
  
  .d-xl-block {
    display: block !important;
  }
} 

.hero-section h1 {
    padding-top: 225px;
}