﻿/*
 * AngeliasEye responsive layer.
 *
 * Loaded after ae-base.css, ae-pages.css and ae-woocommerce.css. Keep this
 * file limited to layout, sizing and interaction-safe responsive overrides;
 * page markup and WooCommerce state remain owned by the other agents.
 */

/* Global overflow guard and resilient media/form primitives. */
html,
body.ae-theme {
	max-width: 100%;
	overflow-x: clip;
}

body.ae-theme #page,
body.ae-theme #main,
body.ae-theme .site,
body.ae-theme .site-main,
body.ae-theme main,
body.ae-theme section,
body.ae-theme article,
body.ae-theme .ae-shell,
body.ae-theme .ae-column {
	min-width: 0;
}

body.ae-theme iframe,
body.ae-theme svg,
body.ae-theme video,
body.ae-theme canvas {
	max-width: 100%;
}

body.ae-theme input,
body.ae-theme select,
body.ae-theme textarea,
body.ae-theme button {
	max-width: 100%;
}

body.ae-theme .ae-btn,
body.ae-theme .button,
body.ae-theme button,
body.ae-theme input[type="submit"],
body.ae-theme input[type="button"] {
	min-height: 42px;
}

/* Header and navigation. */
@media (max-width: 1100px) {
	.ae-menu__list {
		gap: clamp(14px, 1.8vw, 24px);
	}

	.ae-menu__link {
		font-size: 12px;
		letter-spacing: .055em;
	}

	.ae-brand-row,
	.ae-utility-bar__inner,
	.ae-site-footer__bottom {
		width: min(100% - 36px, var(--ae-shell-width));
	}
}

@media (max-width: 860px) {
	.ae-utility-bar__inner {
		gap: 12px;
	}

	.ae-utility-bar__message {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.ae-search-form {
		flex-wrap: wrap;
	}

	.ae-search-form__input {
		min-width: 0;
		flex: 1 1 220px;
	}

	.ae-search-form .ae-btn {
		flex: 0 0 auto;
	}

	.ae-mobile-nav__panel {
		max-width: 390px;
		padding: 22px;
	}
}

/* Shared page shells, split heroes and content grids. */
.ae-page-shell,
.ae-page-section,
.ae-home-section,
.ae-about-section,
.ae-routine-section,
.ae-journal-section,
.ae-contact-section,
.ae-shop-section,
.ae-product-section,
.ae-cart-section,
.ae-checkout-section,
.ae-thank-you-section {
	min-width: 0;
}

.ae-hero__inner,
.ae-home-hero__inner,
.ae-about-hero__inner,
.ae-contact-layout,
.ae-product-detail,
.ae-cart-layout,
.ae-checkout-layout,
.ae-shop-layout {
	min-width: 0;
}

.ae-hero__media,
.ae-home-hero__media,
.ae-about-hero__media,
.ae-product-gallery,
.ae-product-gallery__main,
.ae-product-gallery__thumbs {
	min-width: 0;
}

.ae-hero__media img,
.ae-home-hero__media img,
.ae-about-hero__media img,
.ae-product-gallery img,
.ae-journal-card img,
.ae-article-card img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	object-fit: cover;
}

 .ae-home-hero__inner,
.ae-about-hero__inner,
.ae-contact-layout,
.ae-product-detail,
.ae-single-product__layout,
.ae-cart-layout,
.ae-checkout-layout,
.ae-checkout-grid {
	align-items: start;
}

.ae-home-hero__copy,
.ae-about-hero__copy,
.ae-product-summary,
.ae-cart-summary,
.ae-checkout-main,
.ae-checkout-summary {
	min-width: 0;
}

.ae-section-title,
.ae-hero h1,
.ae-hero h2,
.ae-home-hero h1,
.ae-about-hero h1,
.ae-product-summary h1,
.ae-product-summary h2,
.ae-checkout h1,
.ae-cart-page h1 {
	max-width: 100%;
	overflow-wrap: anywhere;
}

/* Editorial grids: preserve the desktop composition, then collapse without
 * creating fixed-width tracks at tablet/mobile sizes. */
.ae-feature-grid,
.ae-icon-feature-grid,
.ae-philosophy-grid,
.ae-journal-grid,
.ae-article-grid,
.ae-products-grid,
.ae-product-grid,
.ae-best-sellers-grid,
.ae-routine-grid {
	min-width: 0;
}

@media (max-width: 1100px) {
	.ae-feature-grid,
	.ae-icon-feature-grid,
	.ae-philosophy-grid,
	.ae-journal-grid,
	.ae-article-grid,
	.ae-best-sellers-grid,
	.ae-routine-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ae-products-grid,
	.ae-product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	 .ae-home-hero__inner,
	.ae-about-hero__inner,
	.ae-contact-layout,
	.ae-product-detail,
	.ae-single-product__layout,
	.ae-cart-layout,
	.ae-checkout-layout,
	.ae-checkout-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.ae-home-hero__media,
	.ae-about-hero__media {
		order: -1;
	}

	.ae-feature-grid,
	.ae-icon-feature-grid,
	.ae-philosophy-grid,
	.ae-journal-grid,
	.ae-article-grid,
	.ae-products-grid,
	.ae-product-grid,
	.ae-best-sellers-grid,
	.ae-routine-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ae-shop-layout {
		grid-template-columns: minmax(0, 1fr);
	}


	.ae-shop-toolbar,
	.ae-shop-toolbar__sort,
	.ae-shop-toolbar__count {
		min-width: 0;
	}

	.ae-shop-toolbar {
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.ae-product-tabs,
	.ae-product-tabs__list {
		flex-wrap: wrap;
	}

	.ae-product-tabs__item,
	.ae-product-tabs a {
		flex: 1 1 160px;
	}

	.ae-product-gallery__thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	:root {
		--ae-gutter: 18px;
	}

	body.ae-theme {
		font-size: 13px;
	}

	.ae-utility-bar__inner,
	.ae-brand-row,
	.ae-site-footer__bottom {
		width: min(100% - 36px, var(--ae-shell-width));
	}

	.ae-brand-row {
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: 10px;
	}

	.ae-brand-lockup {
		min-width: 0;
		justify-self: center;
	}

	.ae-brand-lockup .custom-logo-link,
	.ae-brand-lockup .custom-logo {
		max-width: 145px;
	}

	.ae-header-actions {
		gap: 0;
	}

	.ae-header-action,
	.ae-menu-toggle {
		width: 36px;
		height: 42px;
	}

	.ae-search-form {
		align-items: stretch;
		gap: 8px;
	}

	.ae-search-form__input {
		flex: 1 1 100%;
		width: 100%;
	}

	.ae-search-form .ae-btn {
		flex: 1 1 auto;
		width: auto;
	}

	.ae-search-form__close {
		flex: 0 0 42px;
	}

	.ae-section-title,
	.ae-hero h1,
	.ae-home-hero h1,
	.ae-about-hero h1 {
		font-size: clamp(32px, 11vw, 48px);
	}

	.ae-home-hero__inner,
	.ae-about-hero__inner,
	.ae-contact-layout,
	.ae-product-detail,
	.ae-cart-layout,
	.ae-checkout-layout {
		gap: 28px;
	}

	.ae-feature-grid,
	.ae-icon-feature-grid,
	.ae-philosophy-grid,
	.ae-journal-grid,
	.ae-article-grid,
	.ae-products-grid,
	.ae-product-grid,
	.ae-best-sellers-grid,
	.ae-routine-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.ae-product-card__body {
		padding: 12px 8px 14px;
	}

	.ae-product-card__title {
		font-size: 18px;
	}

	.ae-product-card__footer {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.ae-card-add {
		width: 100%;
		justify-content: center;
		min-height: 42px;
	}

	.ae-product-gallery__thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 8px;
	}

	.ae-product-tabs__item,
	.ae-product-tabs a {
		flex-basis: 100%;
	}

	.ae-newsletter-band__inner,
	.ae-newsletter-form,
	.ae-site-footer__bottom {
		align-items: stretch;
		flex-direction: column;
	}

	.ae-newsletter-form {
		width: 100%;
	}

	.ae-newsletter-form .ae-btn,
	.ae-newsletter-form button,
	.ae-newsletter-form input[type="submit"] {
		width: 100%;
	}

	.ae-site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px 20px;
	}

	.ae-footer-brand {
		grid-column: 1 / -1;
	}

	.ae-payment-list {
		flex-wrap: wrap;
	}
}

/* Shop/archive layout. */
.ae-shop-layout,
.woocommerce .ae-shop-layout {
	width: min(calc(100% - (var(--ae-gutter) * 2)), 1500px);
	grid-template-columns: 210px minmax(0, 1fr);
	gap: clamp(36px, 3.5vw, 58px);
}

.ae-shop-main,
.ae-shop-results,
.woocommerce .site-main {
	min-width: 0;
}

.ae-shop-grid,
.woocommerce ul.products {
	min-width: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: auto;
	min-width: 0;
	margin: 0;
	float: none;
}

@media (max-width: 1100px) {
	.ae-shop-layout,
	.woocommerce .ae-shop-layout {
		display: block;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 30px 16px;
	}
}

@media (max-width: 600px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 12px;
	}

	.ae-product-card__inner > .woocommerce-loop-product__title {
		min-height: 58px;
		padding-inline: 12px;
		font-size: 15.5px;
		line-height: 1.25;
	}

	.ae-product-card__inner > .entry-meta,
	.ae-product-card__inner > .ct-woo-card-actions {
		padding-inline: 12px;
	}
}

/* Product detail. */
.ae-product-summary form.cart,
.ae-product-summary .variations_form,
.ae-product-summary .single_variation_wrap,
.ae-product-summary .quantity,
.ae-product-summary .ae-product-actions {
	min-width: 0;
}

.ae-product-summary .quantity {
	max-width: 100%;
}

.ae-product-summary .quantity input,
.ae-product-summary input.qty {
		min-height: 42px;
		max-width: 120px;
}

@media (max-width: 600px) {
	.ae-product-summary .ae-btn,
	.ae-product-summary .single_add_to_cart_button,
	.ae-product-summary form.cart .button {
		width: 100%;
	}

	.ae-product-summary .quantity,
	.ae-product-summary input.qty {
		width: 100%;
		max-width: none;
	}
}

/* Cart: desktop table, tablet scroll safety, mobile card rows. */
.ae-cart-page .woocommerce,
.ae-cart-page .woocommerce-cart-form,
.ae-cart-page .cart-collaterals,
.ae-cart-page .cart_totals,
.ae-cart-page .shop_table {
	min-width: 0;
}

.ae-cart-page .woocommerce-cart-form {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.ae-cart-page table.shop_table {
	width: 100%;
	border-collapse: collapse;
}

.ae-cart-page table.shop_table th,
.ae-cart-page table.shop_table td {
	min-width: 0;
	vertical-align: middle;
}

.ae-cart-page .product-name,
.ae-cart-page .product-name a,
.ae-cart-page .cart_item .product-name {
	overflow-wrap: anywhere;
}

.ae-cart-page .quantity {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
}

.ae-cart-page .quantity input.qty {
		min-height: 42px;
		width: 64px;
		max-width: 100%;
}

.ae-cart-page .cart-collaterals,
.ae-cart-page .cart_totals {
	min-width: 0;
}

@media (max-width: 860px) {
	.ae-cart-page table.shop_table {
		min-width: 620px;
	}

	.ae-cart-page .cart-collaterals,
	.ae-cart-page .cart_totals {
		width: 100%;
	}
}

@media (max-width: 600px) {
	.ae-cart-page .woocommerce-cart-form {
		overflow: visible;
	}

	.ae-cart-page table.shop_table {
		display: block;
		min-width: 0;
		border: 0;
	}

	.ae-cart-page table.shop_table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.ae-cart-page table.shop_table tbody,
	.ae-cart-page table.shop_table tr.cart_item,
	.ae-cart-page table.shop_table tr.woocommerce-cart-form__cart-item {
		display: block;
	}

	.ae-cart-page table.shop_table tr.cart_item,
	.ae-cart-page table.shop_table tr.woocommerce-cart-form__cart-item {
		position: relative;
		padding: 14px 0;
		border-bottom: 1px solid var(--ae-border);
	}

	.ae-cart-page table.shop_table td {
		display: grid;
		grid-template-columns: minmax(88px, 36%) minmax(0, 1fr);
		gap: 10px;
		align-items: center;
		width: 100%;
		padding: 7px 0;
		border: 0;
		text-align: left;
	}

	.ae-cart-page table.shop_table td::before {
		content: attr(data-title);
		color: var(--ae-muted);
		font-size: 9px;
		font-weight: 700;
		letter-spacing: .1em;
		text-transform: uppercase;
	}

	.ae-cart-page table.shop_table td.product-remove {
		display: block;
		position: absolute;
		top: 10px;
		right: 0;
		width: auto;
		padding: 0;
	}

	.ae-cart-page table.shop_table td.product-remove::before,
	.ae-cart-page table.shop_table td.product-thumbnail::before {
		display: none;
	}

	.ae-cart-page table.shop_table td.product-thumbnail {
		display: block;
		padding-right: 34px;
	}

	.ae-cart-page table.shop_table td.product-thumbnail img {
		width: min(100%, 120px);
		margin: 0;
	}

	.ae-cart-page table.shop_table td.actions {
		display: flex;
		align-items: stretch;
		flex-wrap: wrap;
		gap: 10px;
	}

	.ae-cart-page table.shop_table td.actions::before {
		display: none;
	}

	.ae-cart-page .coupon,
	.ae-cart-page .coupon input,
	.ae-cart-page .coupon button,
	.ae-cart-page .actions .button,
	.ae-cart-page .actions input[type="submit"] {
		width: 100%;
		max-width: none;
	}

	.ae-cart-page .cart_totals {
		float: none;
		width: 100%;
	}

	.ae-cart-page .wc-proceed-to-checkout a {
		width: 100%;
		text-align: center;
	}
}

/* Checkout: stack fields and order summary while keeping payment controls
 * native so gateways can continue to inject their markup. */
.ae-checkout-page .woocommerce-checkout,
.ae-checkout-page .ae-checkout-grid,
.ae-checkout-page .woocommerce-checkout .col2-set,
.ae-checkout-page .woocommerce-checkout .col-1,
.ae-checkout-page .woocommerce-checkout .col-2,
.ae-checkout-page #order_review,
.ae-checkout-page #payment,
.ae-checkout-page .woocommerce-checkout-review-order-table {
	min-width: 0;
}

.ae-checkout-page .woocommerce-checkout .form-row,
.ae-checkout-page .woocommerce-checkout .form-row-first,
.ae-checkout-page .woocommerce-checkout .form-row-last {
	max-width: 100%;
}

.ae-checkout-page #order_review,
.ae-checkout-page .ae-checkout-summary {
	position: sticky;
	top: 24px;
}

.ae-checkout-page .woocommerce-checkout-review-order-table {
	width: 100%;
	table-layout: fixed;
}

.ae-checkout-page .woocommerce-checkout-review-order-table th,
.ae-checkout-page .woocommerce-checkout-review-order-table td {
	min-width: 0;
	overflow-wrap: anywhere;
}

.ae-checkout-page .woocommerce-checkout-payment ul.payment_methods {
	padding: 0;
}

@media (max-width: 860px) {
	.ae-checkout-page #order_review,
	.ae-checkout-page .ae-checkout-summary {
		position: static;
	}

	.ae-checkout-page .woocommerce-checkout .col2-set,
	.ae-checkout-page .woocommerce-checkout .col-1,
	.ae-checkout-page .woocommerce-checkout .col-2 {
		width: 100%;
		float: none;
	}
}

@media (max-width: 600px) {
	.ae-checkout-panel .woocommerce-billing-fields__field-wrapper,
	.ae-checkout-panel .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: minmax(0, 1fr);
	}

	.ae-checkout-page .woocommerce-checkout .form-row-first,
	.ae-checkout-page .woocommerce-checkout .form-row-last,
	.ae-checkout-page .woocommerce-checkout .form-row-wide {
		width: 100%;
		float: none;
	}

	.ae-checkout-page .woocommerce-checkout .form-row {
		margin-right: 0;
		margin-left: 0;
	}

	.ae-checkout-page .woocommerce-checkout input,
	.ae-checkout-page .woocommerce-checkout select,
	.ae-checkout-page .woocommerce-checkout textarea,
	.ae-checkout-page #place_order {
		width: 100%;
		max-width: none;
	}

	.ae-checkout-page .woocommerce-checkout-review-order-table {
		font-size: 12px;
	}

	.ae-checkout-page .woocommerce-checkout-review-order-table th,
	.ae-checkout-page .woocommerce-checkout-review-order-table td {
		padding: 9px 5px;
	}

	.ae-checkout-page #payment .place-order,
	.ae-checkout-page #payment .button {
		width: 100%;
	}
}

/* Thank-you/order confirmation. */
.ae-thank-you-page .woocommerce-order,
.ae-thankyou-page .woocommerce-order,
.ae-thank-you-page .woocommerce-order-overview,
.ae-thankyou-page .woocommerce-order-overview,
.ae-thank-you-page .woocommerce-order-details,
.ae-thankyou-page .woocommerce-order-details,
.ae-thank-you-page .woocommerce-customer-details,
.ae-thankyou-page .woocommerce-customer-details {
	min-width: 0;
	max-width: 100%;
}

.ae-thank-you-page .woocommerce-order-overview,
.ae-thankyou-page .woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.ae-thank-you-page .woocommerce-order-overview li,
.ae-thankyou-page .woocommerce-order-overview li {
	min-width: 0;
	margin: 0;
	padding: 14px;
	border: 1px solid var(--ae-border);
}

@media (max-width: 600px) {
	.ae-thank-you-page .woocommerce-order-overview,
.ae-thankyou-page .woocommerce-order-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}

/* Stronger mobile spacing and tap targets. */
@media (max-width: 390px) {
	.ae-site-header .ae-shell,
	.ae-site-footer .ae-shell,
	.ae-page-shell,
	.ae-page-section {
		max-width: 100%;
	}

	.ae-btn,
	.ae-card-add,
	.ae-site-footer a,
	.ae-site-header a,
	.ae-site-header button,
	.ae-cart-page a.remove,
	.ae-cart-page .quantity input.qty {
		min-height: 42px;
	}

	.ae-feature-grid,
	.ae-icon-feature-grid,
	.ae-philosophy-grid,
	.ae-journal-grid,
	.ae-article-grid,
	.ae-routine-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}





