/**
 * Site-wide mobile optimization — banner size, padding, overflow.
 */

html {
	-webkit-text-size-adjust: 100%;
}

body {
	overflow-x: clip;
}

@media (max-width: 820px) {
	body {
		padding-bottom: calc(var(--pc-bottom-nav-height, 4.25rem) + env(safe-area-inset-bottom, 0px));
	}

	.pc-bottom-nav {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 95;
		background: rgba(255, 255, 255, 0.98);
		border-top: 1px solid rgba(42, 24, 16, 0.1);
		box-shadow: 0 -6px 24px rgba(42, 24, 16, 0.08);
		padding-bottom: env(safe-area-inset-bottom, 0px);
	}

	.pc-bottom-nav__list {
		list-style: none;
		margin: 0;
		padding: 0.35rem 0.25rem 0.45rem;
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 0;
		align-items: end;
	}

	.pc-bottom-nav__cell {
		min-width: 0;
	}

	.pc-bottom-nav__item {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.2rem;
		width: 100%;
		min-height: 3.25rem;
		padding: 0.2rem 0.1rem;
		border: 0;
		background: transparent;
		color: var(--pc-muted);
		font-family: inherit;
		font-size: clamp(0.58rem, 2.4vw, 0.68rem);
		font-weight: 600;
		line-height: 1.1;
		text-decoration: none;
		text-align: center;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	.pc-bottom-nav__icon {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.5rem;
		height: 2.5rem;
		border-radius: 0.85rem;
		color: inherit;
		transition: background 0.15s ease, color 0.15s ease;
	}

	.pc-bottom-nav__label {
		display: block;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.pc-bottom-nav__item.is-active {
		color: var(--pc-brown);
	}

	.pc-bottom-nav__item.is-active .pc-bottom-nav__icon {
		background: var(--pc-home-yellow);
		color: var(--pc-brown);
	}

	.pc-bottom-nav .pc-cart-count {
		top: 0;
		right: -0.15rem;
		min-width: 1rem;
		height: 1rem;
		font-size: 0.58rem;
		line-height: 1rem;
	}

	.single-product .pc-single-sticky-atc {
		bottom: calc(var(--pc-bottom-nav-height, 4.25rem) + env(safe-area-inset-bottom, 0px));
	}

	.single-product .pc-single-summary {
		padding-bottom: calc(var(--pc-sticky-atc-height, 4.5rem) + var(--pc-bottom-nav-height, 4.25rem) + env(safe-area-inset-bottom, 0px));
	}

	.pc-header-search.is-open {
		position: relative;
		z-index: 96;
		margin-bottom: 0.5rem;
	}

	.pc-inner {
		padding-left: 14px;
		padding-right: 14px;
	}

	.pc-header-inner {
		padding-left: 14px;
		padding-right: 14px;
	}

	.pc-promo-inner {
		padding-left: 14px;
		padding-right: 14px;
	}

	/* Home banner — taller on phones/tablets */
	.pc-banner-carousel,
	.pc-banner-track {
		height: clamp(300px, 78vw, 460px) !important;
		max-height: none !important;
		min-height: 300px;
	}

	.pc-home-hero-wrap {
		padding: 8px 10px clamp(16px, 4vw, 24px);
		max-width: none;
	}

	.pc-home-hero-wrap .pc-home-banner {
		border-radius: 0;
		overflow: visible;
		box-shadow: none;
	}

	.pc-home-hero-wrap .pc-banner-carousel {
		border-radius: 18px;
		overflow: hidden;
		box-shadow: var(--pc-shadow);
	}

	.pc-banner-title {
		font-size: clamp(1.35rem, 5.5vw, 2rem);
	}

	.pc-banner-text {
		padding: 12px 14px;
		max-width: min(92%, 360px);
	}

	.pc-home-collection {
		padding: 18px 0 4px;
	}

	.pc-home-collection--accent {
		margin: 12px 10px 0;
		padding: 18px 0 14px;
		border-radius: 18px;
	}

	.pc-section-head {
		margin-bottom: 12px;
	}

	.pc-section-title {
		font-size: clamp(1.35rem, 4.8vw, 1.75rem);
	}

	.pc-home-collection--hippeas-head .pc-section-title,
	.pc-cart-page-title,
	.pc-checkout-page-title,
	.pc-legal-page-title,
	.pc-about-page-title {
		font-size: clamp(1.5rem, 6.5vw, 2.25rem) !important;
		line-height: 0.95 !important;
	}

	.pc-shoppable--explore {
		margin: 12px 10px 0;
		padding: 20px 0 16px;
		border-radius: 18px;
	}

	.pc-purity-band {
		padding: 18px 0;
	}

	.pc-purity-band__card {
		padding: 22px 16px;
		border-radius: 18px;
		gap: 18px;
	}

	.pc-category-strip {
		padding: clamp(20px, 5vw, 28px) 0 4px;
	}

	.pc-category-strip__title {
		font-family: var(--pc-font-display);
		font-size: clamp(1.5rem, 6.5vw, 2.25rem);
		font-weight: 400;
		line-height: 0.95;
		letter-spacing: 0.03em;
		text-transform: uppercase;
		text-align: left;
		margin-bottom: clamp(16px, 4vw, 24px);
	}

	.pc-category-strip__track {
		justify-content: flex-start;
		flex-wrap: nowrap;
		gap: clamp(20px, 5.5vw, 32px);
		padding-bottom: 4px;
	}

	.pc-category-strip__icon {
		width: clamp(5rem, 20vw, 6.5rem);
		height: clamp(5rem, 20vw, 6.5rem);
	}

	.pc-category-strip__link {
		min-width: clamp(5.5rem, 22vw, 7.5rem);
		max-width: clamp(7.5rem, 28vw, 9.5rem);
	}

	.pc-category-strip__name {
		font-size: clamp(0.82rem, 3.2vw, 0.95rem);
	}

	.pc-home-collection + .pc-home-collection {
		padding-top: clamp(24px, 6vw, 36px);
	}

	/* Single product — mobile layout */
	.single-product .pc-single-summary {
		display: flex;
		flex-direction: column;
	}

	.single-product .pc-single-title-row {
		order: 1;
		min-width: 0;
	}

	.single-product .pc-single-title-row .product_title {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		font-size: clamp(1rem, 4.2vw, 1.25rem);
		line-height: 1.05;
	}

	.single-product .pc-single-info-row {
		order: 2;
	}

	.single-product .pc-single-info-price {
		font-size: clamp(1.35rem, 5.5vw, 1.65rem);
	}

	.single-product .pc-single-info-price .pc-pack-option-price,
	.single-product .pc-single-info-price .pc-pack-option-price .amount {
		font-size: clamp(1.5rem, 6vw, 1.85rem);
		font-weight: 800;
		line-height: 1.1;
	}

	.single-product .pc-single-info-price .pc-pack-option-mrp,
	.single-product .pc-single-info-price .pc-pack-mrp--single {
		font-size: clamp(0.8rem, 3.2vw, 0.92rem);
	}

	.single-product .pc-single-info-meta {
		display: none;
	}

	.single-product .pc-single-pack-wrap {
		order: 3;
	}

	.single-product form.cart {
		order: 4;
	}

	.single-product .pc-single-cart-row {
		flex-wrap: wrap;
		align-items: center;
		gap: clamp(8px, 2.5vw, 12px);
	}

	.single-product .pc-single-qty-wrap {
		flex: 0 0 auto;
	}

	.single-product .pc-single-qty-stepper {
		width: clamp(7rem, 28vw, 8.25rem);
	}

	.single-product .pc-single-stock {
		flex: 1 1 100%;
	}

	.single-product form.cart .single_add_to_cart_button {
		display: inline-flex !important;
		flex: 1 1 0;
		min-width: 0;
		width: auto;
		min-height: 3rem;
		margin: 0;
	}

	.single-product .pc-single-sticky-atc {
		display: block;
	}

	.single-product .pc-single-description {
		order: 5;
		margin-top: 0;
	}

	.single-product .pc-single-social-proof {
		order: 6;
	}

	.single-product .pc-single-accordion {
		order: 7;
	}

	.single-product .pc-pack-options--cards {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(8px, 2.5vw, 12px);
		width: 100%;
		overflow: hidden;
	}

	.single-product .pc-pack-option--card {
		display: grid;
		grid-template-columns: 1.125rem 1fr;
		column-gap: 8px;
		row-gap: 6px;
		align-items: start;
		min-width: 0;
		padding: clamp(10px, 2.5vw, 14px) clamp(8px, 2vw, 12px) clamp(34px, 9vw, 40px);
	}

	.single-product .pc-pack-option-radio {
		position: static;
		grid-column: 1;
		grid-row: 1;
		align-self: start;
		width: 1.125rem;
		height: 1.125rem;
		margin-top: 0.15em;
		flex-shrink: 0;
	}

	.single-product .pc-pack-option-top {
		grid-column: 2;
		grid-row: 1;
		padding-left: 0;
		padding-right: 0;
		min-height: 0;
	}

	.single-product .pc-pack-option-badges {
		grid-column: 1 / -1;
		grid-row: 2;
		padding-left: 0;
		margin-top: 0;
		gap: 4px;
	}

	.single-product .pc-pack-option-divider {
		grid-column: 1 / -1;
		grid-row: 3;
	}

	.single-product .pc-pack-option-bottom {
		grid-column: 1 / -1;
		grid-row: 4;
	}

	.single-product .pc-pack-option-label {
		font-size: clamp(0.7rem, 3.2vw, 0.88rem);
		line-height: 1.2;
	}

	.single-product .pc-pack-option-meta {
		font-size: clamp(0.62rem, 2.8vw, 0.72rem);
	}

	.single-product .pc-pack-option-off,
	.single-product .pc-pack-option-best {
		font-size: clamp(0.55rem, 2.4vw, 0.62rem);
		padding: 3px 6px;
	}

	.single-product .pc-pack-option-price {
		font-size: clamp(0.95rem, 4vw, 1.1rem);
	}

	.single-product .pc-pack-option-mrp,
	.single-product .pc-pack-option-unit {
		font-size: clamp(0.62rem, 2.8vw, 0.72rem);
	}

	.single-product .pc-pack-option-selected {
		font-size: clamp(0.62rem, 2.8vw, 0.72rem);
	}

	.single-product .pc-pack-option-selected-label {
		display: none;
	}

	.pc-explore-categories {
		padding: 24px 0 28px;
	}

	.pc-home-instagram {
		padding: 24px 0 28px;
	}

	/* Commerce + account pages */
	.pc-cart-inner,
	.pc-checkout-inner,
	.pc-account-inner,
	.pc-about-inner {
		padding-top: 18px;
		padding-bottom: 16px;
	}

	body.pc-cart-page .pc-cart-page-panel,
	body.pc-checkout-page .pc-checkout-page-panel {
		padding: 18px 16px;
		border-radius: 18px;
	}

	.pc-account-content {
		padding: 18px 16px;
		border-radius: 18px;
		min-height: 0;
	}

	.pc-about-page-panel,
	.pc-about-hero-panel,
	.pc-about-closing {
		padding: 18px 16px;
		border-radius: 18px;
	}

	.pc-account-nav-list {
		gap: 8px;
		margin-bottom: 0;
	}

	.pc-shop-inner,
	.single-product .pc-shop-inner {
		padding-left: 14px;
		padding-right: 14px;
	}

	.pc-shop-archive-body {
		padding-bottom: 28px;
	}

	.pc-shop-archive-layout {
		padding-top: 14px;
	}

	.pc-single-summary {
		padding: 12px 0 0;
	}

	.pc-wrap {
		padding: 16px 0 28px;
	}

	.pc-page {
		padding: 18px 16px;
		margin-left: 14px;
		margin-right: 14px;
	}

	.pc-footer-grid {
		gap: 18px;
	}

	/* Product cards — keep price + Add to cart inside card */
	.pc-product-card,
	.pc-product-card--hippeas {
		overflow: hidden;
		max-width: 100%;
		box-sizing: border-box;
	}

	.pc-product-body,
	.pc-product-body--hippeas {
		overflow: hidden;
		min-width: 0;
		max-width: 100%;
		box-sizing: border-box;
	}

	.pc-product-hippeas-row--foot {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 8px !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.pc-product-row {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 8px 10px !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.pc-product-hippeas-row--foot .pc-product-price {
		flex: 0 0 auto !important;
		width: 100% !important;
		min-height: 0 !important;
		align-self: stretch !important;
		display: flex !important;
		align-items: center !important;
		white-space: normal;
	}

	.pc-product-row .pc-product-price {
		flex: 1 1 auto !important;
		width: auto !important;
		min-height: 0 !important;
		align-self: center !important;
		display: flex !important;
		align-items: center !important;
		white-space: normal;
	}

	.pc-product-hippeas-row--foot .pc-product-price .price,
	.pc-product-hippeas-row--foot .pc-product-price .pc-pack-price,
	.pc-product-row .pc-product-price .price,
	.pc-product-row .pc-product-price .pc-pack-price {
		min-height: 0 !important;
		display: block !important;
	}

	.pc-product-hippeas-row--foot .pc-pack-price-block {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: baseline !important;
		gap: 0.35rem 0.5rem !important;
	}

	.pc-product-hippeas-row--foot .pc-product-actions {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex: 0 0 auto !important;
		align-self: stretch !important;
		justify-content: stretch !important;
	}

	.pc-product-row .pc-product-actions {
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		flex: 0 0 auto !important;
		align-self: center !important;
		justify-content: flex-end !important;
	}

	.pc-product-card--hippeas .pc-product-hippeas-row--foot .button,
	.pc-product-card--hippeas .pc-product-hippeas-row--foot .add_to_cart_button,
	.pc-product-card--hippeas .pc-product-hippeas-row--foot a.button,
	.pc-product-card--hippeas .pc-product-hippeas-row--foot .pc-out-of-stock-btn {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		white-space: nowrap !important;
		text-align: center !important;
		padding: 8px 10px !important;
		font-size: clamp(0.62rem, 2.8vw, 0.75rem) !important;
		line-height: 1.2 !important;
		min-height: 34px !important;
	}

	.pc-product-actions .button,
	.pc-product-actions .add_to_cart_button,
	.pc-product-actions a.button,
	.pc-shop-archive .pc-product-actions .button,
	.pc-collection-products .pc-product-actions .button,
	.pc-single-related-track .pc-product-actions .button {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: auto !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		white-space: nowrap !important;
		text-align: center !important;
		padding: 8px 10px !important;
		font-size: clamp(0.62rem, 2.8vw, 0.75rem) !important;
		line-height: 1.2 !important;
		min-height: 34px !important;
	}

	.pc-collection-products .pc-product-li {
		flex-basis: min(200px, 44vw);
		width: min(200px, 44vw) !important;
		max-width: min(200px, 44vw);
	}

	/* Product images — fill entire thumb area on mobile */
	.pc-product-card--hippeas .pc-product-thumb-wrap {
		position: relative;
		aspect-ratio: 1 / 1;
		overflow: hidden;
	}

	.pc-product-card--hippeas .pc-product-thumb {
		position: absolute;
		inset: 0;
		display: block;
		width: 100%;
		height: 100%;
		padding: 0;
		margin: 0;
		aspect-ratio: auto;
		max-height: none;
	}

	.pc-product-card--hippeas .pc-product-thumb img {
		display: block;
		width: 100%;
		height: 100%;
		max-width: none;
		max-height: none;
		object-fit: cover;
		object-position: center center;
	}

	.pc-product-hippeas-row--foot .pc-product-price .pc-pack-price-block {
		width: 100%;
	}

	.pc-product-hippeas-row--foot .pc-out-of-stock-btn,
	.pc-product-row .pc-out-of-stock-btn,
	.pc-product-actions .pc-out-of-stock-btn {
		width: auto !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	/* Mobile drawer menu — reference-style panel */
	.pc-nav {
		display: flex !important;
		flex-direction: column;
		width: min(82vw, 340px) !important;
		padding: 0 !important;
		border-radius: 0 28px 28px 0;
		background: #fff;
		box-shadow: 16px 0 48px rgba(20, 24, 20, 0.18);
		z-index: 10002;
		overflow: hidden;
	}

	.pc-nav-close {
		display: none !important;
	}

	.pc-nav-drawer {
		display: flex;
		flex-direction: column;
		min-height: 0;
		height: 100%;
	}

	.pc-nav-drawer__profile {
		display: flex;
		align-items: center;
		gap: 14px;
		padding: 28px 22px 18px;
		border-bottom: 1px solid rgba(42, 24, 16, 0.08);
		flex-shrink: 0;
	}

	.pc-nav-drawer__avatar {
		flex-shrink: 0;
		width: 56px;
		height: 56px;
		border-radius: 50%;
		overflow: hidden;
		background: #fff7df;
		border: 2px solid var(--pc-home-yellow);
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.pc-nav-drawer__avatar-img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		border-radius: 50%;
	}

	.pc-nav-drawer__avatar-fallback {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		color: var(--pc-brown);
	}

	.pc-nav-drawer__identity {
		min-width: 0;
	}

	.pc-nav-drawer__name {
		margin: 0 0 4px;
		font-size: 1.05rem;
		font-weight: 800;
		line-height: 1.2;
		color: var(--pc-ink);
	}

	.pc-nav-drawer__meta {
		margin: 0;
		font-size: 0.82rem;
		line-height: 1.35;
		color: var(--pc-muted);
		text-decoration: none;
	}

	a.pc-nav-drawer__meta:hover {
		color: var(--pc-brand);
	}

	.pc-nav-drawer__menu {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding: 8px 10px calc(16px + env(safe-area-inset-bottom, 0px));
	}

	.pc-nav-drawer-menu--plain .pc-nav-drawer-menu__link {
		display: block;
		gap: 0;
		padding: 14px 12px;
	}

	.pc-nav-drawer-menu--plain .pc-nav-drawer-menu__sub {
		padding: 0 12px 12px 20px;
	}

	.pc-nav-drawer-menu {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.pc-nav-drawer-menu__item {
		border-bottom: 1px solid rgba(42, 24, 16, 0.08);
	}

	.pc-nav-drawer-menu__item:last-child {
		border-bottom: 0;
	}

	.pc-nav-drawer-menu__row {
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.pc-nav-drawer-menu__link {
		flex: 1 1 auto;
		display: flex;
		align-items: center;
		gap: 14px;
		min-width: 0;
		padding: 14px 8px;
		text-decoration: none;
		color: var(--pc-ink);
		font-size: 0.98rem;
		font-weight: 700;
		line-height: 1.25;
		text-transform: none;
		letter-spacing: 0;
		border: 0;
	}

	.pc-nav-drawer-menu__link:hover,
	.pc-nav-drawer-menu__item.is-active > .pc-nav-drawer-menu__row .pc-nav-drawer-menu__link {
		color: var(--pc-brand);
	}

	.pc-nav-drawer-menu__icon {
		flex-shrink: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		border-radius: 12px;
		background: #fff7df;
		color: var(--pc-brown);
		box-shadow: inset 0 0 0 1px rgba(253, 217, 76, 0.65);
	}

	.pc-nav-drawer-menu__icon svg {
		display: block;
	}

	.pc-nav-drawer-menu__label {
		flex: 1 1 auto;
		min-width: 0;
	}

	.pc-nav-drawer-menu__toggle {
		flex-shrink: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 34px;
		height: 34px;
		border: 0;
		border-radius: 10px;
		background: #f3f1ed;
		color: var(--pc-brown);
		cursor: pointer;
	}

	.pc-nav-drawer-menu__item.is-open .pc-nav-drawer-menu__toggle {
		background: var(--pc-home-yellow);
		color: var(--pc-brown);
	}

	.pc-nav-drawer-menu__item.is-open .pc-nav-drawer-menu__toggle svg {
		transform: rotate(180deg);
	}

	.pc-nav-drawer-menu__toggle svg {
		transition: transform 0.15s ease;
	}

	.pc-nav-drawer-menu__sub {
		display: none;
		padding: 0 8px 12px 62px;
	}

	.pc-nav-drawer-menu__item.is-open .pc-nav-drawer-menu__sub {
		display: block;
	}

	.pc-nav-drawer-menu__sublist {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.pc-nav-drawer-menu__sublist a {
		text-decoration: none;
		color: var(--pc-ink);
		font-size: 0.86rem;
		font-weight: 600;
		line-height: 1.35;
	}

	.pc-nav-drawer-menu__sublist a:hover {
		color: var(--pc-brand);
	}

	.pc-nav-drawer-menu__all {
		display: inline-block;
		margin-top: 10px;
		font-size: 0.82rem;
		font-weight: 700;
		color: var(--pc-brand);
		text-decoration: none;
	}

	.pc-nav-backdrop.is-visible {
		background: rgba(16, 12, 8, 0.42);
	}
}

@media (max-width: 480px) {
	.pc-inner {
		padding-left: 12px;
		padding-right: 12px;
	}

	.pc-banner-carousel,
	.pc-banner-track {
		height: clamp(280px, 84vw, 420px) !important;
		min-height: 280px;
	}

	.pc-home-hero-wrap {
		padding: 6px 8px clamp(14px, 4vw, 20px);
	}

	.pc-home-hero-wrap .pc-home-banner {
		border-radius: 0;
		overflow: visible;
	}

	.pc-home-hero-wrap .pc-banner-carousel {
		border-radius: 16px;
	}

	.pc-header-inner {
		padding-left: 12px;
		padding-right: 12px;
	}

	body.pc-cart-page .pc-cart-page-panel,
	body.pc-checkout-page .pc-checkout-page-panel,
	.pc-account-content,
	.pc-about-page-panel,
	.pc-about-hero-panel,
	.pc-about-closing {
		padding: 16px 14px;
	}

	.pc-home-collection--accent,
	.pc-shoppable--explore {
		margin-left: 8px;
		margin-right: 8px;
	}
}

@media (max-width: 899px) {
	body.pc-checkout-page .wc-block-checkout__sidebar {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}
