/* 
 * Trademark Directory - Pages Responsive CSS
 * This file contains responsive styles for specific pages:
 * - front-page.php
 * - about.php
 * - contact.php
 * - free-search.php
 * - free-search-results.php
 * - registration pages
 * - us-trademark
 * - eu-trademark
 */

/* =================================
   COMMON RESPONSIVE ELEMENTS
   ================================= */

/* All page sections responsive padding */
@media (max-width: 991px) {
  .page-section {
    padding: 4rem 0 !important;
  }
}

@media (max-width: 767px) {
  .page-section {
    padding: 3rem 0 !important;
  }
}

@media (max-width: 575px) {
  .page-section {
    padding: 2rem 0 !important;
  }
}

/* All buttons responsive styling */
@media (max-width: 767px) {
  .btn-common,
  .btn-primary,
  .btn-secondary {
    display: block !important;
    width: 100% !important;
    margin-bottom: 0.75rem !important;
    text-align: center !important;
  }
  
  .cta-buttons {
    flex-direction: column !important;
    width: 100% !important;
  }
}

/* =================================
   HOMEPAGE (front-page.php)
   ================================= */

/* Hero section */
@media (max-width: 991px) {
  .hero-section {
    text-align: center !important;
    padding: 3rem 1rem !important;
  }
  
  .hero-container {
    flex-direction: column !important;
  }
  
  .hero-content,
  .hero-image {
    width: 100% !important;
    max-width: 100% !important;
  }
  
  .hero-image {
    margin-top: 2rem !important;
    order: 2 !important;
  }
  
  .hero-content {
    order: 1 !important;
  }
  
  .animated-word {
    display: inline !important;
  }
}

@media (max-width: 767px) {
  .hero-section {
    padding: 2rem 1rem !important;
  }
  
  .hero-title {
    font-size: 2.25rem !important;
    line-height: 1.3 !important;
  }
  
  .hero-subtitle {
    font-size: 1rem !important;
    line-height: 1.5 !important;
  }
  
  .hero-cta {
    flex-direction: column !important;
    width: 100% !important;
  }
  
  .hero-cta a {
    width: 100% !important;
    margin-bottom: 0.75rem !important;
  }
  
  .stat-item {
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
  }
  
  .dot-blue {
    margin-top: 5px !important;
  }
}

@media (max-width: 575px) {
  .hero-section {
    padding: 1.5rem 1rem !important;
  }
  
  .hero-title {
    font-size: 1.75rem !important;
    margin-bottom: 0.5rem !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }
  
  .hero-subtitle {
    font-size: 0.9rem !important;
  }
  
  .hero-cta {
    margin-top: 1.5rem !important;
  }
  
  .stat-line {
    font-size: 0.9rem !important;
  }
}

/* Features/Services section */
@media (max-width: 991px) {
  .service-row {
    flex-direction: column !important;
    margin-bottom: 3rem !important;
  }
  
  .service-image,
  .service-content {
    width: 100% !important;
    padding: 0 !important;
  }
  
  .service-image {
    margin-bottom: 1.5rem !important;
    text-align: center !important;
  }
  
  .service-image img {
    max-width: 300px !important;
    margin: 0 auto !important;
  }
}

/* Testimonials/Reviews */
@media (max-width: 767px) {
  .review-card {
    padding: 1.5rem !important;
  }
  
  .review-author {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
  
  .author-image {
    margin-bottom: 1rem !important;
    margin-right: 0 !important;
  }
}

/* =================================
   ABOUT PAGE (about.php)
   ================================= */

@media (max-width: 991px) {
  .about-section {
    text-align: center !important;
  }
  
  .about-container {
    flex-direction: column !important;
  }
  
  .about-content,
  .about-image {
    width: 100% !important;
    max-width: 100% !important;
  }
  
  .about-image {
    margin-bottom: 2rem !important;
    order: 1 !important;
  }
  
  .about-content {
    order: 2 !important;
  }
  
  .team-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.5rem !important;
  }
}

@media (max-width: 767px) {
  .team-grid {
    grid-template-columns: 1fr !important;
  }
  
  .team-member {
    text-align: center !important;
  }
  
  .values-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =================================
   CONTACT PAGE (contact.php)
   ================================= */

@media (max-width: 991px) {
  .contact-container {
    flex-direction: column !important;
  }
  
  .contact-form-container,
  .contact-info {
    width: 100% !important;
    max-width: 100% !important;
  }
  
  .contact-info {
    margin-top: 3rem !important;
    order: 2 !important;
  }
  
  .contact-form-container {
    order: 1 !important;
  }
}

@media (max-width: 767px) {
  .contact-methods {
    flex-direction: column !important;
  }
  
  .contact-method {
    width: 100% !important;
    margin-bottom: 1.5rem !important;
    padding: 1.5rem !important;
  }
  
  .contact-form {
    padding: 1.5rem !important;
  }
}

/* =================================
   FREE SEARCH PAGE (free-search.php)
   ================================= */

@media (max-width: 991px) {
  .search-container {
    max-width: 100% !important;
  }
  
  .benefits-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.5rem !important;
  }
  
  .search-options {
    grid-template-columns: 1fr !important;
  }
  
  .search-option-card {
    margin-bottom: 1.5rem !important;
  }
}

@media (max-width: 767px) {
  .search-form {
    flex-direction: column !important;
  }
  
  .search-input {
    width: 100% !important;
    margin-bottom: 1rem !important;
    border-radius: 6px !important;
  }
  
  .search-button {
    width: 100% !important;
    border-radius: 6px !important;
  }
  
  .benefits-grid {
    grid-template-columns: 1fr !important;
  }
  
  .benefit-card {
    padding: 1.5rem !important;
  }
  
  .final-cta-container {
    padding: 2rem 1rem !important;
  }
}

@media (max-width: 575px) {
  .benefit-icon {
    width: 50px !important;
    height: 50px !important;
  }
  
  .faq-question {
    font-size: 1rem !important;
    padding: 1rem !important;
  }
  
  .faq-answer {
    padding: 1rem !important;
  }
}

/* =================================
   SEARCH RESULTS PAGE (free-search-results.php)
   ================================= */

@media (max-width: 991px) {
  .results-filter {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 1rem !important;
  }
  
  .filter-options, 
  .sort-options {
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .result-header {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  
  .result-badges {
    margin-top: 0.5rem !important;
  }
  
  .result-details {
    grid-template-columns: 1fr !important;
  }
  
  .result-item {
    padding: 1.25rem !important;
  }
  
  .results-header h1 {
    font-size: 1.5rem !important;
  }
}

@media (max-width: 575px) {
  .search-input-wrapper {
    flex-direction: column !important;
  }
  
  .search-button {
    margin-top: 0.75rem !important;
    width: 100% !important;
  }
  
  .detail-label {
    font-size: 0.75rem !important;
  }
  
  .detail-value {
    font-size: 0.9rem !important;
  }
}

/* =================================
   REGISTRATION PAGES
   ================================= */

@media (max-width: 991px) {
  .registration-container {
    flex-direction: column !important;
  }
  
  .registration-sidebar {
    width: 100% !important;
    position: relative !important;
    top: 0 !important;
    order: 2 !important;
    margin-top: 2rem !important;
  }
  
  .registration-main {
    width: 100% !important;
    padding: 2rem 1rem !important;
    order: 1 !important;
  }
  
  .registration-steps {
    flex-direction: column !important;
  }
  
  .registration-step {
    width: 100% !important;
    margin-bottom: 1.5rem !important;
  }
}

@media (max-width: 767px) {
  .step-header {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  
  .step-number {
    margin-bottom: 1rem !important;
  }
  
  .form-row {
    flex-direction: column !important;
  }
  
  .form-group {
    width: 100% !important;
    margin-bottom: 1rem !important;
  }
  
  .registration-summary {
    padding: 1.5rem !important;
  }
  
  .summary-row {
    flex-direction: column !important;
    margin-bottom: 1.25rem !important;
  }
  
  .summary-label, 
  .summary-value {
    width: 100% !important;
    text-align: left !important;
  }
  
  .summary-label {
    margin-bottom: 0.25rem !important;
  }
}

/* =================================
   US/EU TRADEMARK PAGES
   ================================= */

@media (max-width: 991px) {
  .trademark-hero {
    text-align: center !important;
  }
  
  .trademark-hero-container {
    flex-direction: column !important;
  }
  
  .trademark-hero-content,
  .trademark-hero-image {
    width: 100% !important;
    max-width: 100% !important;
  }
  
  .trademark-hero-image {
    margin-top: 2rem !important;
    order: 2 !important;
  }
  
  .trademark-hero-content {
    order: 1 !important;
  }
  
  .trademark-features {
    flex-direction: column !important;
  }
  
  .trademark-feature {
    width: 100% !important;
    margin-bottom: 1.5rem !important;
  }
  
  .process-steps {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  .trademark-benefits-grid {
    grid-template-columns: 1fr !important;
  }
  
  .trademark-benefit {
    padding: 1.5rem !important;
  }
  
  .trademark-cta {
    padding: 2rem 1rem !important;
  }
  
  .process-step {
    padding: 1.5rem !important;
  }
}

@media (max-width: 575px) {
  .trademark-hero-title {
    font-size: 1.75rem !important;
  }
  
  .process-step-header {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  
  .process-step-number {
    margin-bottom: 1rem !important;
  }
} 