/* Customer pages: responsive layout without concealing overflowing content. */
@media (max-width:1100px) {
    .contact-section .contact-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
    .contact-section .contact-form { margin-left:0; }
    .contact-section .contact-info h2,.contact-section .contact-form h2 { margin:0 0 24px; padding:0; white-space:normal; font-size:30px; text-align:left; }
    .main-nav { grid-template-columns:minmax(0,1fr); gap:14px; }
    .main-nav-left,.main-nav-right { justify-content:center; flex-wrap:wrap; min-width:0; max-width:100%; row-gap:12px; }
    .main-nav-logo { grid-row:1; max-width:100%; }
    .main-nav-logo span { overflow-wrap:anywhere; }
    .site-topbar-left { flex-wrap:wrap; }
}
@media (max-width:900px) {
    .map-section > div { grid-template-columns:minmax(0,1fr) !important; }
    .omega-flex { flex-direction:column; gap:28px; }
    .product-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); }
    .footer-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
    .footer-brand,.footer-logo { left:0; flex-wrap:wrap; }
    .footer-contact p { justify-content:center; overflow-wrap:anywhere; }
    .footer-social { align-items:center; }
    .copyright { padding:0 16px; line-height:1.5; }
    .contact-grid > *, .form-row > *, .product-grid > * { min-width:0; }
}
@media (max-width:600px) {
    /* Let the header scroll away so it cannot cover most of a phone screen. */
    body > header { position:relative; padding:0; }
    .site-topbar-inner { padding:7px 12px; justify-content:center; font-size:11px; }
    .site-topbar-left { justify-content:center; gap:8px; }
    .site-topbar-right { text-align:center; }
    header .main-nav { padding:12px; gap:12px; }
    .main-nav-left > * { padding:0 10px; }
    .main-nav-left a,.main-nav-right a { font-size:13px !important; }
    .main-nav-right { gap:14px; }
    .main-nav-right > a:not(:last-child)::after { display:none; }
    .main-nav-logo .logo-en { font-size:26px; }
    .main-nav-logo .logo-sub { font-size:10px; letter-spacing:.06em; }
    .main-nav-left .dropdown .dropdown-menu { opacity:0; visibility:hidden; min-width:140px; z-index:10; box-shadow:0 5px 18px #0002; }
    .main-nav-left .dropdown[data-open="true"] .dropdown-menu { opacity:1; visibility:visible; }
    .main-nav-left .dropdown-menu a { display:block !important; padding:12px 16px; text-align:left; }
    .container { width:92%; }
    section { padding:36px 0; }
    h2 { font-size:28px; margin-bottom:24px; }
    .page-banner { height:200px; padding:24px 12px; }
    .page-banner h1 { font-size:32px; overflow-wrap:anywhere; }
    .features { grid-template-columns:minmax(0,1fr); }
    .choose-box { padding:28px 20px; }
    .omega-text,.omega-image { width:100%; min-width:0; }
    /* Keep the complete hero photo and place its text below it. */
    .hero-slider { height:auto; padding:0; }
    .hero-slider .slides { align-items:flex-start; }
    .hero-slider .slide { flex-direction:column; min-height:0; height:auto; padding-bottom:42px; }
    .hero-slider .slide img,.hero-slider .slide video { width:100%; height:auto; object-fit:contain; }
    .hero-slider .slide video { aspect-ratio:16/9; }
    .hero-slider .overlay { position:static; transform:none; width:100%; padding:22px 20px; background:transparent; }
    .hero-slider .overlay h1 { color:#4a2c1f; font-size:30px; text-shadow:none; margin:18px 0; }
    .hero-slider .overlay p { color:#6d5645; text-shadow:none; font-size:16px; }
    .hero-slider .prev,.hero-slider .next { top:125px; width:38px; height:38px; font-size:22px; }
    .hero-slider .prev { left:10px; }.hero-slider .next { right:10px; }
    .hero-slider .dots { bottom:12px; }
    .contact-section { padding:32px 0; }
    .contact-section .container { width:92%; }
    .contact-form .form-row { grid-template-columns:minmax(0,1fr); }
    .product-buy-row { max-width:100%; flex-wrap:wrap; }
    .qty-stepper button,.cart-icon-btn { min-width:44px; min-height:44px; }
    .contact-info p { overflow-wrap:anywhere; }
    .contact-form input { height:48px; padding:0 14px; font-size:16px; }
    .contact-form textarea { height:180px; padding:14px; font-size:16px; }
    .contact-form button { float:none; width:100%; padding:14px; }
    .ah-hero { padding:32px 0 !important; }
    .ah-hero-grid { gap:26px; grid-template-columns:minmax(0,1fr); }
    .ah-hero-text h1 { font-size:30px; }
    .ah-timeline-item { padding:0; min-width:0; }
    .ah-accent { right:0; }
    .track-card { padding:18px; }
    .track-hero h1 { font-size:30px; }
    .track-card-header-left,.track-card-header-right { flex-wrap:wrap; min-width:0; }
    .track-detail-row { flex-wrap:wrap; }
    .track-detail-row span { min-width:0; overflow-wrap:anywhere; }
    .track-detail-box { overflow-wrap:anywhere; }
    .order-tracker { flex-direction:column; gap:14px; }
    .tracker-step { display:flex; align-items:center; gap:12px; text-align:left; }
    .tracker-dot { margin:0; flex-shrink:0; }
    .tracker-step:not(:last-child)::after { display:none; }
    .ty-info-strip { grid-template-columns:minmax(0,1fr); gap:16px; }
    .ty-info-strip > div { border-right:0; overflow-wrap:anywhere; }
    .co-page .co-summary-item { flex-wrap:wrap; }
    .co-page .co-summary-item > strong { margin-left:auto; }
    .co-page .co-summary-item img { width:64px; height:64px; }
    .co-page .co-details { grid-template-columns:minmax(0,1fr); }
    .co-page .co-details dt { font-weight:600; margin-top:8px; }
    .co-page .co-details dd { margin-bottom:5px; }
    .co-page .co-payment-options { grid-template-columns:minmax(0,1fr); }
    .co-page .co-total { flex-wrap:wrap; gap:8px; }
    .co-page input:not([type=checkbox]):not([type=radio]),.co-page select,.co-page textarea { font-size:16px; min-width:0; }
    .co-page .co-steps li { min-width:0; overflow-wrap:anywhere; }
    .co-page .co-trust { grid-template-columns:minmax(0,1fr); }
    .co-page .co-trust > div { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:8px; }
    .co-page .co-trust i,.co-page .co-trust small { margin:0; }
    .co-page .co-receipt { overflow-wrap:anywhere; }
    .omega-page .container { min-width:0; }
    .omega-page h1 { overflow-wrap:anywhere; }
    .omega-page .benefit-card.wide { grid-template-columns:minmax(0,1fr); }
    .omega-page .hero-card,.omega-page .quiz-card { min-width:0; }
    footer { padding:32px 0 24px; }
}

/* Tablet portrait and landscape: full content and usable touch controls. */
@media(max-width:1366px) {
 .contact-section .contact-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:40px; }
 .contact-section .contact-form { margin-left:0; min-width:0; }
 .contact-section .contact-info h2,.contact-section .contact-form h2 { margin:0 0 24px; padding:0; white-space:normal; font-size:30px; text-align:left; }
 .footer-brand,.footer-logo { left:0; }
 .footer-contact { min-width:0; overflow-wrap:anywhere; }
}
@media(max-width:1200px) {
 .cart-basket-design .cart-basket-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:1100px) {
 .contact-section .contact-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
 .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
 .co-page .co-layout { grid-template-columns:minmax(0,1fr); }
 .co-page .co-navigation { flex-wrap:wrap; }
 .co-page .co-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .co-page .co-fields > * { min-width:0; }
 .co-page .co-payment-info { grid-template-columns:minmax(0,1fr); }
 .co-page .co-panel,.co-page .co-summary { min-width:0; }
 .co-page .co-summary-item { flex-wrap:wrap; }
 .co-page .co-summary-item > strong { margin-left:auto; }
 .co-page .co-trust { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .ah-hero { padding-top:40px; }
}
@media(max-width:900px) {
 .footer-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:760px) {
 .co-page .co-fields { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:600px) {
 .co-page .co-trust { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:1100px), (max-width:1400px) and (pointer:coarse) {
 body > header { position:relative; }
 .hero-slider { height:auto; padding:0; }
 .hero-slider .slides { align-items:flex-start; }
 .hero-slider .slide { flex-direction:column; min-height:0; height:auto; padding-bottom:42px; }
 .hero-slider .slide img,.hero-slider .slide video { width:100%; height:auto; object-fit:contain; }
 .hero-slider .slide video { aspect-ratio:16/9; }
 .hero-slider .overlay { position:static; transform:none; width:100%; max-width:100%; padding:24px 5%; background:transparent; }
 .hero-slider .overlay h1 { color:#4a2c1f; text-shadow:none; font-size:clamp(30px,4vw,42px); margin:18px 0; }
 .hero-slider .overlay p { color:#6d5645; text-shadow:none; font-size:18px; }
 .hero-slider .prev,.hero-slider .next { top:clamp(125px,24vw,300px); }
 .hero-slider .dots { bottom:12px; }
 .qty-stepper button,.cart-icon-btn { min-width:44px; min-height:44px; }
 .cart-quantity { height:44px; }
 .cart-quantity button { min-height:42px; }
 .cart-remove-button { min-width:44px; min-height:44px; }
 .co-page input:not([type=checkbox]):not([type=radio]),.co-page select,.co-page textarea { font-size:16px; }
}

@media(max-width:600px) { .hero-slider .overlay p { font-size:16px; } }

/* Touch browsers may keep :hover after a tap; use the explicit menu state. */
@media(hover:none), (pointer:coarse) {
 body > header .dropdown:hover .dropdown-menu { opacity:0; visibility:hidden; }
 body > header .dropdown[data-open="true"] .dropdown-menu { opacity:1; visibility:visible; }
}
