﻿/* Responsive styles for Ashik portfolio */

@media (max-width: 1024px) {
  html {
    font-size: 17px;
  }
}

@media (max-width: 768px) {
  html {
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  html {
    font-size: 15px;
  }
}

@media (max-width: 1240px) {
  section {
    padding: 100px 32px;
  }
}

@media (max-width: 768px) {
  section {
    padding: 70px 20px;
  }
}

@media (max-width: 1024px) {
  .trust-logo {
    flex-basis: calc((100% - 42px) / 4);
  }
}

@media (max-width: 700px) {
  #trusted {
    padding: 46px 20px;
  }
  .trust-logo {
    flex-basis: calc((100% - 14px) / 2);
    min-width: 150px;
    height: 68px;
  }
  .trusted-arrow.prev {
    left: -10px;
  }
  .trusted-arrow.next {
    right: -10px;
  }
}

@media (max-width: 420px) {
  .trust-logo {
    flex-basis: 100%;
  }
}

@media (max-width: 900px) {
  .portfolio-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
  .pi-1,
  .pi-2,
  .pi-3,
  .pi-4,
  .pi-5,
  .pi-6 {
    grid-column: auto;
    grid-row: auto;
    height: 240px;
  }
}

@media (max-width: 540px) {
  .portfolio-grid {
    grid-template-columns: 1fr;
  }
  .pi-1,
  .pi-2,
  .pi-3,
  .pi-4,
  .pi-5,
  .pi-6 {
    height: 220px;
  }
}

@media (max-width: 640px) {
  .aplus-portfolio-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .store-card {
    flex-basis: 100%;
    max-width: 100%;
  }
  .store-header {
    height: 360px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-contact-btn,
  .about-contact-btn::before {
    animation: none;
  }
}

@media (max-width: 900px) {
  .testi-card {
    flex-basis: calc((100% - 18px) / 2);
  }
}

@media (max-width: 600px) {
  .testi-card {
    flex-basis: 100%;
    min-height: 210px;
  }
  .testi-author {
    padding-right: 92px;
  }
  .stars {
    right: 16px;
    font-size: 0.76rem;
    letter-spacing: 1px;
  }
}

@media (max-width: 480px) {
  .whatsapp-float {
    right: 18px;
    bottom: 18px;
    width: 52px;
    height: 52px;
  }
  .scroll-top {
    right: 18px;
    bottom: 82px;
    width: 42px;
    height: 42px;
  }
}

@media (max-width: 1024px) {
  .hero-inner {
    gap: 42px;
  }
  .hero-canvas {
    max-width: 400px;
    height: auto;
  }
  .mockup-center {
    width: 250px;
    height: 295px;
  }
  .float-card {
    padding: 12px 14px;
    font-size: 0.76rem;
  }
  .float-card.card1 {
    left: -8px;
  }
  .float-card.card2 {
    right: -8px;
  }
  .float-card.card3 {
    left: -12px;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr;
  }
  /* portfolio responsive handled in portfolio CSS block above */
}

@media (max-width: 900px) {
  #home {
    min-height: auto;
    padding: 110px 28px 72px;
  }
  .hero-inner {
    grid-template-columns: 1fr;
    gap: 44px;
    text-align: center;
  }
  .hero-content {
    max-width: 760px;
    margin: 0 auto;
  }
  .hero-desc {
    margin-left: auto;
    margin-right: auto;
  }
  .hero-cta {
    justify-content: center;
    margin-bottom: 38px;
  }
  .hero-stats {
    justify-content: center;
  }
  .hero-visual {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  nav {
    padding: 16px 5%;
  }
  .nav-links,
  .btn-hire {
    display: none;
  }
  .hamburger {
    display: flex;
  }
  #home {
    padding: 104px 20px 64px;
    text-align: center;
  }
  .hero-inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .hero-content .badge {
    margin-bottom: 20px;
  }
  .hero-title {
    font-size: clamp(2.05rem, 9vw, 2.8rem);
    line-height: 1.12;
    margin-bottom: 16px;
  }
  .hero-subtitle {
    font-size: 0.98rem;
    margin-bottom: 14px;
  }
  .hero-desc {
    max-width: 620px;
    font-size: 0.92rem;
    line-height: 1.75;
    margin-bottom: 28px;
  }
  .hero-cta {
    justify-content: center;
  }
  .hero-stats {
    justify-content: center;
  }
  .hero-visual {
    display: none;
  }
  .specialty-grid {
    grid-template-columns: 1fr;
  }
  /* portfolio responsive handled in portfolio CSS block */
  .aplus-portfolio-grid {
    grid-template-columns: 1fr;
  }
  .designer-grid {
    grid-template-columns: 1fr;
  }
  .about-grid {
    grid-template-columns: 1fr;
  }
  .contact-grid {
    grid-template-columns: 1fr;
  }
  .contact-header {
    margin-bottom: 42px;
  }
  .contact-header h2 {
    font-size: 2.25rem;
  }
  .contact-form {
    padding: 24px;
  }
  .footer-top {
    gap: 30px;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr;
  }
  .mission-cards {
    grid-template-columns: 1fr;
  }
  .tools-grid {
    grid-template-columns: 1fr 1fr;
  }
  .about-stats {
    grid-template-columns: 1fr 1fr;
  }
  section {
    padding: 70px 5%;
  }
}

@media (max-width: 480px) {
  #home {
    padding: 94px 16px 54px;
  }
  .hero-content .badge {
    max-width: 100%;
    padding: 7px 12px;
    font-size: 0.66rem;
    letter-spacing: 0.04em;
  }
  .hero-title {
    font-size: clamp(1.85rem, 11vw, 2.35rem);
  }
  .hero-subtitle {
    font-size: 0.9rem;
  }
  .hero-desc {
    font-size: 0.88rem;
    line-height: 1.7;
  }
  .hero-cta {
    flex-direction: column;
    gap: 12px;
    margin-bottom: 34px;
  }
  .hero-cta .btn-primary,
  .hero-cta .btn-outline {
    width: 100%;
    justify-content: center;
    padding: 13px 18px;
  }
  .hero-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
  }
  .stat-num {
    font-size: 1.45rem;
  }
  .stat-label {
    font-size: 0.62rem;
    letter-spacing: 0.03em;
  }
  .footer-top {
    grid-template-columns: 1fr;
  }
  .contact-header h2 {
    font-size: 1.95rem;
  }
  .contact-copy h3 {
    font-size: 1.25rem;
  }
  .contact-form {
    padding: 20px;
  }
  .form-row {
    grid-template-columns: 1fr;
  }
  .about-stats {
    grid-template-columns: 1fr;
  }
  .ap-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1024px) {
  .team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .team-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}
