/* =====================================================================
   HHC Child Theme — responsive.css
   Breakpoints: 1024 / 768 / 480 / 380
   ===================================================================== */

/* ── 1024px — Tablet ── */
@media (max-width: 1024px) {
	.woocommerce .products,
	.woocommerce-page .products { grid-template-columns: repeat(3, 1fr) !important; }

	.hhc-services__grid { grid-template-columns: repeat(2, 1fr); }
	.hhc-tier-grid      { grid-template-columns: repeat(2, 1fr); }
	.hhc-reviews-grid   { grid-template-columns: repeat(2, 1fr); }
	.hhc-cat-grid       { grid-template-columns: repeat(6, 1fr); }
}

/* ── 768px — Mobile / Tablet ── */
@media (max-width: 768px) {

	/* Header */
	.site-header .main-header-bar .ast-primary-nav { display: none !important; }
	.hhc-c9-header-chip { display: none; }

	/* Mobile menu */
	.hhc-mobile-menu-toggle {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 44px; height: 44px;
		background: rgba(5,242,242,0.08);
		border: 1px solid var(--hhc-border-cyan);
		border-radius: 8px;
		cursor: pointer;
		color: #fff;
		padding: 0;
	}
	.hhc-mobile-menu-toggle svg { pointer-events: none; }
	.hhc-mobile-nav {
		display: none;
		background: var(--hhc-surface-dark);
		border-top: 1px solid var(--hhc-border-cyan);
		width: 100%;
	}
	.hhc-mobile-nav.is-open { display: block; }
	.hhc-mobile-nav a {
		display: flex;
		align-items: center;
		padding: 14px 20px;
		font-size: 1rem;
		font-weight: 600;
		color: rgba(255,255,255,0.65) !important;
		text-decoration: none !important;
		border-bottom: 1px solid rgba(255,255,255,0.06);
		min-height: 48px;
		letter-spacing: .07em;
		text-transform: uppercase;
	}
	.hhc-mobile-nav a:hover,
	.hhc-mobile-nav a.current-menu-item { color: var(--hhc-cyan) !important; }

	/* Hero */
	.hhc-hero { padding: 48px 16px 56px; }
	.hhc-hero__logo { width: clamp(130px, 42vw, 180px); }
	.hhc-hero__buttons { flex-direction: column; align-items: stretch; }
	.hhc-btn { width: 100%; justify-content: center; }

	/* Services */
	.hhc-services { padding: 0 14px 28px; margin-top: -28px; }
	.hhc-services__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.hhc-services__panel { padding: 20px; }

	/* Category grid */
	.hhc-cat-grid { grid-template-columns: repeat(4, 1fr); }

	/* Products */
	.woocommerce .products,
	.woocommerce-page .products { grid-template-columns: repeat(2, 1fr) !important; }

	/* Deals */
	.hhc-deal-grid { grid-template-columns: 1fr; }

	/* Tiers */
	.hhc-tier-grid { grid-template-columns: 1fr; }

	/* Contact */
	.hhc-contact-grid { grid-template-columns: 1fr; max-width: 100%; }

	/* Reviews */
	.hhc-reviews-grid { grid-template-columns: 1fr; }

	/* Sections */
	.hhc-section { padding: 40px 16px; }

	/* C9 Dashboard */
	.hhc-c9-points-card  { flex-direction: column; text-align: center; }
	.hhc-c9-redeem-grid  { grid-template-columns: 1fr; }
	.hhc-c9-ref-row      { flex-direction: column; }

	/* My Account */
	.woocommerce-MyAccount-navigation { margin-bottom: 14px; }
	.woocommerce-MyAccount-navigation li a { font-size: .9rem; }

	/* Cart */
	.woocommerce-cart table.shop_table { font-size: .85rem; }
	.woocommerce table.shop_table th,
	.woocommerce table.shop_table td  { padding: 8px 10px !important; }

	/* Checkout */
	.woocommerce-billing-fields .form-row,
	.woocommerce-shipping-fields .form-row { width: 100% !important; float: none !important; }

	/* Sticky ATC */
	.hhc-sticky-atc__inner { flex-direction: column; align-items: stretch; }
	.hhc-sticky-atc__inner .hhc-btn { width: 100%; }

	/* Announcement bar */
	.hhc-announcement-bar { font-size: .8rem; padding: 6px 12px; }

	/* Shop layout */
	.woocommerce-page .content-area { width: 100% !important; float: none !important; }
	.woocommerce-page .widget-area  { display: none; }

	/* Page header */
	.hhc-hero__heading { font-size: clamp(1.8rem, 7vw, 2.4rem); }
}

/* ── 480px — Small phones ── */
@media (max-width: 480px) {
	.woocommerce .products,
	.woocommerce-page .products { grid-template-columns: 1fr !important; }

	.hhc-cat-grid { grid-template-columns: repeat(3, 1fr); }

	.hhc-section { padding: 32px 14px; }

	.woocommerce-MyAccount-navigation li a { font-size: .85rem; padding: 10px; }

	/* Cart table → hide unimportant columns */
	.woocommerce-cart table.shop_table .product-subtotal { display: none; }

	/* Forms full width */
	.checkout .form-row { width: 100% !important; float: none !important; padding-left: 0 !important; padding-right: 0 !important; }

	/* Remove col2-set columns */
	.woocommerce .col2-set .col-1,
	.woocommerce .col2-set .col-2 { width: 100% !important; float: none !important; }

	.hhc-c9-redeem-grid { grid-template-columns: 1fr; }

	.woocommerce ul.products li.product a img { height: 180px; }
}

/* ── 380px — Very small phones ── */
@media (max-width: 380px) {
	.hhc-hero__heading { font-size: 1.6rem; }
	.hhc-hero__logo    { width: 120px; }
	.hhc-announcement-bar { font-size: .72rem; padding: 5px 10px; }
	.hhc-btn { font-size: .8rem; padding: 10px 16px; }

	.woocommerce table.shop_table td.product-name,
	.woocommerce table.shop_table td.product-price { font-size: .82rem; }

	.hhc-cat-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── Typography responsive ── */
@media (max-width: 768px) {
	body { font-size: 15px; }
	h1   { font-size: clamp(1.6rem, 7vw, 2.4rem); }
	h2   { font-size: clamp(1.3rem, 6vw, 2rem); }
	h3   { font-size: clamp(1.1rem, 5vw, 1.5rem); }
}

/* ── Focus visible always visible ── */
:focus-visible {
	outline: 2px solid var(--hhc-cyan);
	outline-offset: 3px;
	border-radius: 3px;
}

/* ── Touch targets ── */
@media (max-width: 768px) {
	button,
	.button,
	[role="button"],
	.hhc-btn,
	a.button,
	input[type="submit"],
	input[type="button"],
	select {
		min-height: 44px;
		min-width: 44px;
	}
}

/* ── No horizontal scroll safety ── */
@media (max-width: 768px) {
	html, body { overflow-x: hidden; }
	.woocommerce-cart .woocommerce-cart-form { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* =====================================================================
   v2.1.0 — Custom chrome + new component breakpoints
   ===================================================================== */

/* ── 1024px ── */
@media (max-width: 1024px) {
	.hhc-deal-grid--full { grid-template-columns: repeat(2, 1fr); }
	.hhc-c9-teaser       { gap: 24px; }
	.hhc-footer__grid    { grid-template-columns: 1fr 1fr; }
}

/* ── 768px ── */
@media (max-width: 768px) {
	/* Custom header: hide desktop nav + brand sub, show hamburger */
	.hhc-desktop-nav        { display: none; }
	.hhc-header-brand-sub   { display: none; }
	.hhc-header-inner       { padding: 10px 16px; }

	/* New grids stack */
	.hhc-c9-teaser      { grid-template-columns: 1fr; }
	.hhc-deal-grid--full { grid-template-columns: 1fr; }
	.hhc-earn-grid      { grid-template-columns: 1fr; }
	.hhc-bonus-grid     { grid-template-columns: 1fr; }
	.hhc-ref-split      { grid-template-columns: 1fr; }
	.hhc-contact-2col   { grid-template-columns: 1fr; }
	.hhc-contact-grid--3 { grid-template-columns: 1fr; }

	.hhc-c9-hero        { padding: 28px 18px; }
	.hhc-footer__grid   { grid-template-columns: 1fr; gap: 18px; }
}

/* ── 480px ── */
@media (max-width: 480px) {
	.hhc-bonus-grid     { grid-template-columns: 1fr; }
	.hhc-page-title     { font-size: 1.5rem; }
}
