/** * Ophiro Responsive Breakpoints * Mobile-first responsive adjustments * * @package Ophiro_Ventures */ /* ========================================================================== TABLET (max-width: 1024px) ========================================================================== */ @media (max-width: 1024px) { :root { --space-5xl: 5rem; --space-4xl: 4rem; } .o-territories__grid { grid-template-columns: repeat(2, 1fr); } .o-featured-journeys__grid { grid-template-columns: repeat(2, 1fr); } .o-content-grid { grid-template-columns: repeat(2, 1fr); } .o-footer-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-2xl); } .o-journey-content { grid-template-columns: 1fr; } .o-journey-content__sidebar { position: static; } .o-pricing-tiers { grid-template-columns: 1fr; } .o-enquire-layout { grid-template-columns: 1fr; } .o-enquire-info { padding-right: 0; margin-bottom: var(--space-2xl); } } /* ========================================================================== MOBILE (max-width: 768px) ========================================================================== */ @media (max-width: 768px) { :root { --space-5xl: 4rem; --space-4xl: 3rem; --space-3xl: 2.5rem; } .o-container { padding: 0 var(--space-lg); } .o-hero__title { font-size: clamp(2.5rem, 10vw, 4rem); } .o-hero__subtitle { font-size: var(--text-lg); } .o-hero__cta-group { flex-direction: column; gap: var(--space-md); } .o-hero__cta-group .o-btn { width: 100%; max-width: 300px; } .o-territories__grid { grid-template-columns: 1fr; } .o-featured-journeys__grid { grid-template-columns: 1fr; } .o-content-grid { grid-template-columns: 1fr; } .o-checkbox-group { grid-template-columns: 1fr; } .o-inclusions { grid-template-columns: 1fr; } .o-footer-grid { grid-template-columns: 1fr; } .o-footer-trust__inner { flex-direction: column; text-align: center; } .o-footer-trust__badges { flex-direction: column; gap: var(--space-md); } .o-footer-legal__inner { flex-direction: column; text-align: center; gap: var(--space-md); } .o-brand-quote { padding: var(--space-3xl) var(--space-md); } .o-brand-quote::before { font-size: 8rem; } .o-brand-quote__text { font-size: var(--text-2xl); } .o-journey-hero { height: 50vh; min-height: 350px; } .o-journey-hero__title { font-size: clamp(2rem, 6vw, 3rem); } .o-itinerary-day { grid-template-columns: 1fr; gap: var(--space-md); } .o-itinerary-day__number { font-size: var(--text-2xl); } .o-enquire-form { padding: var(--space-xl); } .o-sidebar-card { padding: var(--space-xl); } blockquote { padding: var(--space-xl); font-size: var(--text-xl); } .o-section { padding: var(--space-3xl) 0; } } /* ========================================================================== SMALL MOBILE (max-width: 480px) ========================================================================== */ @media (max-width: 480px) { :root { --space-5xl: 3rem; --space-4xl: 2.5rem; --space-3xl: 2rem; } .o-container { padding: 0 var(--space-md); } .o-hero { min-height: 100svh; } .o-hero__eyebrow { font-size: 0.65rem; letter-spacing: 0.15em; } .o-hero__eyebrow::before, .o-hero__eyebrow::after { width: 20px; } .o-btn { padding: 0.85rem 1.8rem; font-size: 0.7rem; } .o-territory-card { padding: var(--space-2xl) var(--space-lg); } .o-territory-card__icon { width: 48px; height: 48px; font-size: 1.5rem; } .o-journey-card__body { padding: var(--space-lg); } .o-content-card__body { padding: var(--space-lg); } .o-pricing-card { padding: var(--space-xl); } .o-pricing-card__amount { font-size: var(--text-3xl); } .o-footer-main { padding: var(--space-3xl) 0; } .o-footer-testimonial { padding: var(--space-md); } h1 { font-size: clamp(2rem, 8vw, 3rem); } h2 { font-size: clamp(1.75rem, 5vw, 2.5rem); } h3 { font-size: clamp(1.25rem, 4vw, 1.75rem); } } /* ========================================================================== HIGH DPI / RETINA ========================================================================== */ @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { .o-hero__bg img { image-rendering: -webkit-optimize-contrast; } } /* ========================================================================== REDUCED MOTION ========================================================================== */ @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } .o-reveal { opacity: 1; transform: none; } .o-stagger > * { opacity: 1; transform: none; } .o-hero__scroll { animation: none; } html { scroll-behavior: auto; } } /* ========================================================================== PRINT STYLES ========================================================================== */ @media print { .o-site-header, .o-site-footer, .o-hero__scroll, .o-menu-toggle, .o-nav__cta, .o-btn { display: none !important; } body { background: white; color: black; } .o-container { max-width: 100%; padding: 0; } h1, h2, h3, h4, h5, h6 { color: black; } p, li, td, th { color: #333; } a { color: black; text-decoration: underline; } .o-hero { min-height: auto; height: auto; padding: 2rem 0; } }