/* Responsive Styles */

/* Base container adjustment for smaller screens */
@media (max-width: 1240px) {
  .ptc-container {
    max-width: 100%;
    padding: 0 var(--ptc-space-24);
  }
}

/* Tablet / Medium screens */
@media (max-width: 1024px) {
  .ptc-page-content {
    grid-template-columns: 1fr;
    gap: var(--ptc-space-32);
  }
  
  .ptc-calculator {
    position: static;
  }
  
  .ptc-page-content__sidebar {
    position: static;
  }

  .ptc-calculator__body {
    grid-template-columns: 1fr;
  }
  
  .ptc-grid--4 {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .ptc-footer__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--ptc-space-32);
  }
  
  .ptc-section {
    padding: var(--ptc-space-48) 0;
  }
}

/* Mobile / Small screens */
@media (max-width: 768px) {
  .ptc-header {
    background: var(--ptc-surface); /* Solid on mobile for layering */
  }

  .ptc-nav__links {
    display: none;
    position: absolute;
    top: 80px;
    left: 0;
    width: 100%;
    background: var(--ptc-surface);
    flex-direction: column;
    padding: var(--ptc-space-24) var(--ptc-space-32);
    box-shadow: var(--ptc-shadow-md);
    border-bottom: 2px solid var(--ptc-accent);
    gap: var(--ptc-space-16);
    z-index: 99;
    align-items: flex-start;
  }

  .ptc-nav__links li {
    width: 100%;
  }

  .ptc-nav__links .menu-item-has-children {
    flex-direction: column;
    align-items: flex-start;
  }

  .ptc-nav__links .menu-item-has-children > a {
    width: 100%;
    justify-content: space-between;
  }

  .ptc-nav__links .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: none;
    border-left: 2px solid var(--ptc-border);
    padding: 0 0 0 var(--ptc-space-16);
    margin: var(--ptc-space-8) 0 0 0;
    min-width: auto;
    width: 100%;
  }

  .ptc-nav__links .sub-menu::before {
    display: none;
  }

  .ptc-nav__links .sub-menu a {
    padding: var(--ptc-space-8) 0;
  }
  
  .ptc-nav__links.is-open {
    display: flex;
    animation: slideDownNav 0.25s ease-out forwards;
  }
  
  .ptc-nav__toggle {
    display: block;
  }
  
  /* Animated Hamburger to X */
  .ptc-nav__toggle span {
    transition: transform 0.3s, opacity 0.3s, margin 0.3s;
  }
  
  .ptc-nav__toggle.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  
  .ptc-nav__toggle.is-open span:nth-child(2) {
    opacity: 0;
    transform: translateX(-10px);
  }
  
  .ptc-nav__toggle.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }
  
  .ptc-hero {
    padding: var(--ptc-space-48) 0;
  }
  
  .ptc-grid--3, .ptc-grid--2 {
    grid-template-columns: 1fr;
  }
  
  .ptc-trust-bar {
    flex-direction: column;
    align-items: center;
    gap: var(--ptc-space-12);
    text-align: center;
    padding: var(--ptc-space-16) var(--ptc-space-24);
  }
  
  .ptc-calculator__body {
    padding: var(--ptc-space-24);
    gap: var(--ptc-space-24);
  }
  
  .ptc-calculator__header {
    padding: var(--ptc-space-16) var(--ptc-space-24);
  }
  
  .ptc-calculator__header h3 {
    font-size: 1.15rem;
  }
  
  .ptc-calculator__result-container {
    padding: var(--ptc-space-24);
  }
  
  .ptc-calculator__result-value {
    font-size: 2.25rem;
  }
  
  .ptc-table th, .ptc-table td {
    padding: var(--ptc-space-12) var(--ptc-space-14);
    font-size: 0.85rem;
  }
  
  .ptc-compliance {
    padding: var(--ptc-space-24);
    margin: var(--ptc-space-32) auto;
  }
}

/* Extra small screens */
@media (max-width: 480px) {
  .ptc-footer__grid {
    grid-template-columns: 1fr;
    gap: var(--ptc-space-24);
  }
  
  .ptc-footer__bottom {
    flex-direction: column;
    gap: var(--ptc-space-16);
    text-align: center;
  }
  
  .ptc-calculator__radio-group {
    grid-template-columns: 1fr;
    gap: var(--ptc-space-12);
  }
  
  .ptc-calculator__actions {
    grid-template-columns: 1fr;
  }
  
  .ptc-calculator__actions .ptc-btn {
    width: 100%;
  }

  .ptc-filer-checker__meta-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }
}

/* Navigation Animation Keyframe */
@keyframes slideDownNav {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Print Styles */
@media print {
  .ptc-header, .ptc-footer, .ptc-sidebar, .ptc-hero, .ptc-trust-bar, .ptc-calculator__actions {
    display: none !important;
  }
  
  .ptc-page-content {
    grid-template-columns: 1fr !important;
    margin: 0 !important;
  }
  
  body {
    background: white !important;
    color: black !important;
  }
  
  .ptc-calculator {
    box-shadow: none !important;
    border: 1px solid #ccc !important;
    page-break-inside: avoid;
  }
  
  .ptc-calculator__result-container {
    background: #f8f9fb !important;
    color: black !important;
  }
  
  .ptc-calculator__result-label {
    color: #666 !important;
  }
  
  .ptc-calculator__result-value {
    color: black !important;
  }
}
