/* ==================================================================
   ERTH Living Spaces — Mobile app experience
   Phones and small tablets only (<= 920px). Desktop stays untouched.
   ================================================================== */

.mheader,
.mnav{display:none}

@media (max-width:920px){

  /* ---------- 1. Compact app header ---------- */
  .site-header .announce,
  .site-header .mainbar,
  .site-header .mainnav{display:none!important}

  .site-header{position:sticky;top:0;z-index:60;background:#fff;box-shadow:0 1px 0 rgba(27,59,43,.06)}

  .mheader{display:block;background:#fff}
  .mheader__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;height:60px;padding:0 14px}

  .mheader__tools{display:flex;align-items:center;gap:4px}
  .mheader__ic{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;color:#1B3B2B;transition:background .25s cubic-bezier(.22,.61,.36,1)}
  .mheader__ic:active{background:#F4F1EA}
  .mheader__ic svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .mheader__badge{position:absolute;top:3px;inset-inline-end:3px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#C5A85C;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}

  .mheader__logo{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1;text-align:center}
  .mheader__logo strong{font-size:23px;font-weight:800;color:#1B3B2B;letter-spacing:.5px}
  .mheader__logo em{display:inline-flex;align-items:center;gap:3px;font-style:normal;font-size:10px;font-weight:600;letter-spacing:3px;color:#C5A85C}
  .mheader__logo em svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

  .mheader__burger{width:42px;height:42px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;background:none;border-radius:12px;cursor:pointer}
  .mheader__burger span{display:block;width:22px;height:2px;border-radius:2px;background:#1B3B2B;transition:transform .3s cubic-bezier(.22,.61,.36,1),opacity .2s}
  .mheader__burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mheader__burger.is-open span:nth-child(2){opacity:0}
  .mheader__burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .mheader__note{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;background:#F4F1EA;color:#1B3B2B;font-size:12.5px;font-weight:600;text-align:center}
  .mheader__note svg{flex:none;width:17px;height:17px;fill:none;stroke:#C5A85C;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

  /* ---------- 2. Bottom app navigation ---------- */
  .mnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;inset-inline:0;bottom:0;z-index:70;background:#fff;border-top:1px solid #ECECEC;box-shadow:0 -6px 24px rgba(27,59,43,.08);padding-bottom:env(safe-area-inset-bottom)}
  .mnav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:60px;color:#6E6A63;font-size:11px;font-weight:600;transition:color .25s cubic-bezier(.22,.61,.36,1)}
  .mnav__item svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .mnav__ic{position:relative;display:inline-flex}
  .mnav__badge{position:absolute;top:-5px;inset-inline-end:-8px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#C5A85C;color:#fff;font-size:10px;font-style:normal;font-weight:700;line-height:17px;text-align:center}
  .mnav__item.is-active{color:#1B3B2B}
  .mnav__item.is-active svg{stroke-width:2}

  body{padding-bottom:64px}
  .to-top{bottom:78px!important}

  /* ---------- 3. Shop page head ---------- */
  .shop-head{text-align:center;padding:22px 0 4px}
  .shop-crumbs{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;font-size:12.5px;color:#6E6A63;margin-bottom:10px}
  .shop-crumbs a{color:#6E6A63}
  .shop-crumbs strong{color:#1B3B2B;font-weight:700}
  .shop-title{font-size:29px;font-weight:800;color:#1B3B2B;margin:0 0 8px}
  .shop-sub{font-size:14px;color:#6E6A63;margin:0 auto;max-width:34ch;line-height:1.7}

  /* ---------- 4. Toolbar ---------- */
  .shop-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:16px 0 6px}
  .shop-bar__count{order:2;width:100%;margin:0;font-size:12.5px;color:#6E6A63;text-align:start}
  .shop-bar__actions{order:1;display:flex;align-items:center;gap:8px;width:100%}

  .shop-layout{display:inline-flex;gap:6px}
  .shop-layout__btn{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #ECECEC;background:#fff;border-radius:12px;color:#1B3B2B;cursor:pointer;transition:background .25s cubic-bezier(.22,.61,.36,1),color .25s,border-color .25s}
  .shop-layout__btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .shop-layout__btn.is-active{background:#1B3B2B;border-color:#1B3B2B;color:#fff}

  .shop-sort{position:relative;flex:1;min-width:0}
  .shop-sort select{width:100%;appearance:none;-webkit-appearance:none;padding:11px 14px;padding-inline-end:34px;border:1px solid #ECECEC;border-radius:12px;background:#fff;font-family:inherit;font-size:13.5px;font-weight:600;color:#1B3B2B;cursor:pointer}
  .shop-sort select:focus{outline:none;border-color:#C5A85C}
  .shop-sort .chev{position:absolute;top:50%;inset-inline-end:12px;transform:translateY(-50%);width:16px;height:16px;fill:none;stroke:#1B3B2B;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}

  .shop-filter{display:inline-flex;align-items:center;gap:7px;padding:11px 16px;border:1px solid #ECECEC;background:#fff;border-radius:12px;font-family:inherit;font-size:13.5px;font-weight:700;color:#1B3B2B;cursor:pointer;white-space:nowrap}
  .shop-filter svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}

  /* ---------- 5. Category chips ---------- */
  .shop-chips{margin:14px -16px 4px;padding:4px 16px 10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .shop-chips::-webkit-scrollbar{display:none}
  .shop-chips__track{display:flex;gap:14px;margin:0;padding:0;list-style:none;scroll-snap-type:x proximity}
  .shop-chip{flex:none;scroll-snap-align:start}
  .shop-chip a{display:flex;flex-direction:column;align-items:center;gap:8px;width:74px;text-align:center}
  .shop-chip__img{width:66px;height:66px;border-radius:50%;overflow:hidden;background:#F4F1EA;display:flex;align-items:center;justify-content:center;border:2px solid transparent;transition:border-color .25s cubic-bezier(.22,.61,.36,1),transform .25s}
  .shop-chip__img img{width:100%;height:100%;object-fit:cover}
  .shop-chip__img--all svg{width:26px;height:26px;fill:none;stroke:#1B3B2B;stroke-width:1.6}
  .shop-chip__name{font-size:11.5px;font-weight:600;color:#4a4a4a;line-height:1.35;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
  .shop-chip.is-active .shop-chip__img{border-color:#1B3B2B;transform:scale(1.03)}
  .shop-chip.is-active .shop-chip__name{color:#1B3B2B;font-weight:700}

  /* ---------- 6. Product grid ---------- */
  .woocommerce ul.products,
  ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin:14px 0 0!important;padding:0!important;list-style:none}
  .woocommerce ul.products li.product,
  ul.products li.product{width:100%!important;margin:0!important;float:none!important;background:#fff;border:1px solid #F1EFEA;border-radius:16px;overflow:hidden;box-shadow:0 2px 10px rgba(27,59,43,.05)}

  ul.products li.product .card__media{position:relative;aspect-ratio:1/1;background:#F4F1EA;overflow:hidden}
  ul.products li.product .card__media img{width:100%;height:100%;object-fit:cover;display:block}
  ul.products li.product .wish{position:absolute;top:8px;inset-inline-start:8px;width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.94);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(27,59,43,.12);opacity:1;transform:none}
  ul.products li.product .wish svg{width:16px;height:16px;fill:none;stroke:#1B3B2B;stroke-width:1.7}
  ul.products li.product .badge{position:absolute;top:8px;inset-inline-end:8px;padding:4px 9px;border-radius:8px;font-size:10.5px;font-weight:700;line-height:1.4}
  ul.products li.product .quick{display:none}

  ul.products li.product .card__body{padding:11px 11px 12px;display:flex;flex-direction:column;gap:5px}
  ul.products li.product .card__title,
  ul.products li.product .card__name{font-size:13.5px;font-weight:700;line-height:1.45;margin:0;color:#222;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}
  ul.products li.product .card__title a{color:inherit}
  ul.products li.product .card__cat{order:2;font-size:11px;color:#8b8880}
  ul.products li.product .rating{order:3;display:flex;align-items:center;gap:5px;font-size:11px;color:#6E6A63}
  ul.products li.product .rating .stars{color:#C5A85C;font-size:11px;letter-spacing:-1px}
  ul.products li.product .prices{order:4;display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:2px 0 0;font-size:14.5px;font-weight:800;color:#1B3B2B}
  ul.products li.product .prices del{font-size:11.5px;font-weight:500;color:#a5a29b}
  ul.products li.product .prices ins{text-decoration:none}

  ul.products li.product .button,
  ul.products li.product .add_to_cart_button{order:5;align-self:flex-end;margin:-30px 0 0;width:36px;height:36px;padding:0;border-radius:11px;background:#1B3B2B;color:transparent;font-size:0;overflow:hidden;position:relative;border:0}
  ul.products li.product .button::after,
  ul.products li.product .add_to_cart_button::after{content:"";position:absolute;inset:0;background:no-repeat center/18px 18px url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l-1 12H7L6 8z'/%3E%3Cpath d='M9 8V6.5a3 3 0 016 0V8'/%3E%3C/svg%3E")}
  ul.products li.product .added_to_cart{display:none}

  /* List layout */
  .shop-layout-list ul.products{grid-template-columns:1fr!important}
  .shop-layout-list ul.products li.product{display:grid;grid-template-columns:120px 1fr;align-items:stretch}
  .shop-layout-list ul.products li.product .card__media{aspect-ratio:1/1;height:100%}
  .shop-layout-list ul.products li.product .card__title{-webkit-line-clamp:2;min-height:0}
  .shop-layout-list ul.products li.product .button{margin:0}

  /* ---------- 7. Pagination pills ---------- */
  .woocommerce nav.woocommerce-pagination{margin:22px 0 6px}
  .woocommerce nav.woocommerce-pagination ul{display:flex;align-items:center;justify-content:center;gap:8px;border:0;margin:0;padding:0}
  .woocommerce nav.woocommerce-pagination ul li{border:0;margin:0;overflow:visible}
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px;border-radius:11px;background:#fff;border:1px solid #ECECEC;color:#1B3B2B;font-size:14px;font-weight:700}
  .woocommerce nav.woocommerce-pagination ul li span.current{background:#1B3B2B;border-color:#1B3B2B;color:#fff}

  /* ---------- 8. Trust strip ---------- */
  .shop-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:22px 0 8px;padding:16px 8px;list-style:none;background:#F7F5F0;border-radius:18px}
  .shop-trust__item{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;padding:0 2px;position:relative}
  .shop-trust__item+.shop-trust__item::before{content:"";position:absolute;inset-inline-start:-3px;top:12%;height:76%;width:1px;background:#E4E0D6}
  .shop-trust__item svg{width:22px;height:22px;fill:none;stroke:#1B3B2B;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .shop-trust__item strong{font-size:11.5px;font-weight:700;color:#1B3B2B;line-height:1.35}
  .shop-trust__item span{font-size:10.5px;color:#8b8880;line-height:1.35}

  /* ---------- 9. Filter drawer ---------- */
  .fdrawer{position:fixed;inset:0;z-index:120}
  .fdrawer[hidden]{display:none}
  .fdrawer__overlay{position:absolute;inset:0;background:rgba(20,44,32,.42);opacity:0;transition:opacity .3s cubic-bezier(.22,.61,.36,1)}
  .fdrawer__panel{position:absolute;inset-inline-start:0;top:0;height:100%;width:min(86vw,340px);background:#fff;display:flex;flex-direction:column;transform:translateX(-102%);transition:transform .35s cubic-bezier(.22,.61,.36,1);box-shadow:0 24px 60px rgba(27,59,43,.14)}
  html[dir="rtl"] .fdrawer__panel{transform:translateX(102%)}
  .fdrawer.is-open .fdrawer__overlay{opacity:1}
  .fdrawer.is-open .fdrawer__panel{transform:translateX(0)}
  .fdrawer__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #ECECEC}
  .fdrawer__head strong{font-size:16px;color:#1B3B2B}
  .fdrawer__head button{width:38px;height:38px;border:0;background:#F4F1EA;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
  .fdrawer__head button svg{width:18px;height:18px;fill:none;stroke:#1B3B2B;stroke-width:1.8;stroke-linecap:round}
  .fdrawer__body{flex:1;overflow-y:auto;padding:18px}
  .fdrawer__body h4{font-size:14px;color:#1B3B2B;margin:0 0 10px}
  .fdrawer__body ul{list-style:none;margin:0 0 20px;padding:0}
  .fdrawer__body li{padding:11px 0;border-bottom:1px solid #F4F1EA;font-size:14px}
  .fdrawer__body a{color:#4a4a4a}
}

/* Slightly wider phones and small tablets get three columns */
@media (min-width:560px) and (max-width:920px){
  ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .shop-chip a{width:82px}
  .shop-chip__img{width:74px;height:74px}
}

@media (max-width:360px){
  .shop-title{font-size:25px}
  .shop-bar__actions{flex-wrap:wrap}
  .shop-sort{order:3;flex-basis:100%}
  .shop-trust{grid-template-columns:repeat(2,1fr);gap:14px 6px}
  .shop-trust__item:nth-child(3)::before{display:none}
}

/* ERTH mobile home overhaul */
/* =========================================================
   ERTH Living Spaces — Mobile app experience (home + global)
   Applies only to screens <= 920px. Desktop is untouched.
   ========================================================= */

@media (max-width: 920px) {

	/* ---------- 1. Global rhythm ---------- */
	.container {
		width: 100%;
		padding-inline: 16px;
	}

	main#main > section,
	.cats,
	.promo,
	.featured,
	.collections,
	.news {
		padding-block: 34px;
	}

	.sec-head {
		margin-bottom: 16px;
	}

	.sec-eyebrow {
		font-size: 11px;
		letter-spacing: .04em;
	}

	.sec-title {
		font-size: 22px;
		line-height: 1.35;
		margin-top: 4px;
	}

	.sec-sub {
		font-size: 13px;
		line-height: 1.7;
		max-width: 34ch;
		margin-inline: auto;
	}

	.sec-head--row {
		align-items: flex-end;
		gap: 10px;
	}

	.btn {
		font-size: 13.5px;
		padding: 12px 18px;
		border-radius: 12px;
	}

	.btn--sm {
		font-size: 12px;
		padding: 8px 14px;
	}

	/* ---------- 2. Hero ---------- */
	.hero {
		height: 70vh;
		min-height: 460px;
		max-height: 580px;
	}

	.hero__slides {
		position: absolute;
		inset: 0;
	}

	.hero__slide {
		background-position: center;
		background-size: cover;
	}

	.hero__slide::before {
		background: linear-gradient(180deg, rgba(12, 26, 19, .28) 0%, rgba(12, 26, 19, .52) 52%, rgba(12, 26, 19, .84) 100%);
	}

	.hero__content {
		padding-bottom: 46px;
		text-align: center;
		align-items: center;
	}

	.hero__eyebrow {
		font-size: 10.5px;
		padding: 6px 14px;
	}

	.hero__title {
		font-size: 31px;
		line-height: 1.32;
		margin: 12px 0 8px;
	}

	.hero__sub {
		font-size: 13.5px;
		line-height: 1.75;
		max-width: 30ch;
		margin-inline: auto;
	}

	.hero__actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		width: 100%;
		max-width: 340px;
		margin-top: 20px;
	}

	.hero__actions .btn {
		width: 100%;
		padding: 13px 10px;
		font-size: 13.5px;
		border-radius: 12px;
	}

	.hero__dots {
		bottom: 20px;
	}

	/* ---------- 3. Category circles ---------- */
	.cats__nav {
		display: none;
	}

	.cats__track {
		gap: 14px;
		padding: 4px 0 10px;
		scroll-padding-inline: 16px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.cats__track::-webkit-scrollbar {
		display: none;
	}

	.cat {
		flex: 0 0 auto;
		width: 74px;
	}

	.cat__img {
		width: 74px;
		height: 74px;
		border-width: 2px;
	}

	.cat__name {
		font-size: 11.5px;
		margin-top: 8px;
		line-height: 1.4;
	}

	/* ---------- 4. Promo + services ---------- */
	.promo__grid {
		gap: 16px;
	}

	.promo__banner {
		display: block;
		border-radius: 20px;
		padding: 24px 20px 20px;
		min-height: 0;
		text-align: center;
	}

	.promo__text {
		max-width: none;
		align-items: center;
		display: flex;
		flex-direction: column;
	}

	.promo__kicker {
		font-size: 10.5px;
		padding: 6px 14px;
	}

	.promo__title {
		font-size: 42px;
		line-height: 1.15;
		margin: 10px 0 6px;
	}

	.promo__desc {
		font-size: 13px;
		line-height: 1.7;
		max-width: 32ch;
	}

	.promo__banner .btn {
		margin-top: 14px;
	}

	.promo__media {
		position: static;
		width: 100%;
		height: auto;
		margin-top: 18px;
		border-radius: 16px;
		overflow: hidden;
		transform: none;
	}

	.promo__media img {
		width: 100%;
		height: 190px;
		object-fit: cover;
		border-radius: 16px;
	}

	.services {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.service {
		display: block;
		text-align: center;
		padding: 16px 10px;
		border-radius: 16px;
		min-height: 0;
	}

	.service__icon {
		width: 40px;
		height: 40px;
		margin: 0 auto 10px;
	}

	.service__icon svg {
		width: 20px;
		height: 20px;
	}

	.service h3 {
		font-size: 13px;
		margin-bottom: 3px;
	}

	.service p {
		font-size: 11px;
		line-height: 1.55;
	}

	/* ---------- 5. Product cards (2 columns) ---------- */
	.products {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.card {
		border-radius: 16px;
		box-shadow: 0 2px 10px rgba(27, 59, 43, .06);
	}

	.card__media {
		aspect-ratio: 1 / 1;
		height: auto;
		min-height: 0;
	}

	.card__media img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.card:hover .card__media img {
		transform: none;
	}

	.card .quick {
		display: none;
	}

	.card .wish {
		opacity: 1;
		transform: none;
		width: 32px;
		height: 32px;
		top: 8px;
		inset-inline-end: 8px;
		inset-inline-start: auto;
		background: #fff;
	}

	.card .wish svg {
		width: 15px;
		height: 15px;
	}

	.card .badge {
		top: 8px;
		inset-inline-start: 8px;
		inset-inline-end: auto;
		font-size: 10px;
		padding: 4px 10px;
		line-height: 1.6;
	}

	.card__body {
		padding: 10px 10px 12px;
	}

	.card__cat {
		font-size: 10px;
	}

	.card__name {
		font-size: 13px;
		line-height: 1.5;
		margin: 3px 0 5px;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.rating {
		gap: 5px;
		margin-bottom: 6px;
	}

	.rating em {
		font-size: 10.5px;
	}

	.stars {
		font-size: 12px;
	}

	.prices {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 6px;
	}

	.price-new {
		font-size: 14px;
	}

	.price-old {
		font-size: 11px;
	}

	/* ---------- 6. Room collections ---------- */
	.coll__grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-auto-rows: auto;
		gap: 12px;
	}

	.coll {
		grid-column: span 1;
		grid-row: span 1;
		height: 168px;
		border-radius: 16px;
	}

	.coll--lg {
		grid-column: span 2;
		height: 190px;
	}

	.coll__body {
		padding: 14px;
		gap: 8px;
	}

	.coll__body h3 {
		font-size: 16px;
	}

	.coll img {
		object-fit: cover;
	}

	.stats {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0;
		margin-top: 22px;
		padding: 6px 0;
		border-radius: 18px;
	}

	.stats li {
		padding: 16px 8px;
		border: 0;
	}

	.stats li:nth-child(odd) {
		border-inline-end: 1px solid var(--line, #ECECEC);
	}

	.stats li:nth-child(-n+2) {
		border-bottom: 1px solid var(--line, #ECECEC);
	}

	.stats strong {
		font-size: 24px;
	}

	.stats span {
		font-size: 11.5px;
	}

	/* ---------- 7. Newsletter ---------- */
	.news__box {
		padding: 28px 18px;
		border-radius: 20px;
	}

	.news__title {
		font-size: 21px;
		line-height: 1.4;
	}

	.news__sub {
		font-size: 13px;
		line-height: 1.7;
		max-width: 32ch;
		margin-inline: auto;
	}

	.news__form {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
		max-width: 340px;
		margin-inline: auto;
		border-radius: 0;
		background: none;
		padding: 0;
		box-shadow: none;
	}

	.news__form input {
		width: 100%;
		height: 48px;
		border-radius: 12px;
		background: #fff;
		border: 1px solid rgba(255, 255, 255, .35);
		padding-inline: 16px;
		font-size: 13.5px;
	}

	.news__form .btn {
		width: 100%;
		height: 48px;
		border-radius: 12px;
	}

	.news__note {
		font-size: 11px;
	}

	/* ---------- 8. Footer ---------- */
	.footer {
		padding-top: 34px;
	}

	.footer__grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 24px 16px;
	}

	.footer__brand {
		grid-column: 1 / -1;
		text-align: center;
	}

	.footer__brand .logo {
		justify-content: center;
	}

	.footer__about {
		font-size: 12.5px;
		line-height: 1.85;
		max-width: 42ch;
		margin-inline: auto;
	}

	.social {
		justify-content: center;
	}

	.footer__col h4,
	.footer__title {
		font-size: 13px;
		margin-bottom: 10px;
	}

	.footer__col ul li + li {
		margin-top: 8px;
	}

	.footer__col a {
		font-size: 12.5px;
	}

	.footer__app,
	.footer__col--app {
		grid-column: 1 / -1;
		text-align: center;
	}

	.app {
		justify-content: center;
		flex-wrap: wrap;
		gap: 10px;
	}

	.app a {
		flex: 1 1 150px;
		max-width: 190px;
	}

	.footer__bottom {
		flex-direction: column;
		gap: 14px;
		text-align: center;
		padding-block: 18px;
	}

	.footer__bottom p,
	.footer__bottom small {
		font-size: 11.5px;
		line-height: 1.8;
	}

	.pay {
		justify-content: center;
		flex-wrap: wrap;
		gap: 8px;
	}

	/* ---------- 9. Back to top ---------- */
	.to-top {
		width: 42px;
		height: 42px;
	}
}

/* ---------- 10. Small phones ---------- */
@media (max-width: 400px) {
	.container {
		padding-inline: 14px;
	}

	.hero__title {
		font-size: 27px;
	}

	.sec-title {
		font-size: 20px;
	}

	.promo__title {
		font-size: 36px;
	}

	.products {
		gap: 10px;
	}

	.card__name {
		font-size: 12.5px;
	}

	.price-new {
		font-size: 13px;
	}

	.cat,
	.cat__img {
		width: 68px;
	}

	.cat__img {
		height: 68px;
	}

	.coll {
		height: 150px;
	}

	.coll--lg {
		height: 172px;
	}

	.service h3 {
		font-size: 12.5px;
	}
}

/* ---------- 11. Tablets keep 3 product columns ---------- */
@media (min-width: 640px) and (max-width: 920px) {
	.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.services {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

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

/* ERTH mobile refinements v2 */
/* =========================================================
   ERTH — Mobile refinements v2
   Compact app header + inset hero + 3-up products +
   smaller emerald blocks + tighter type scale.  <= 920px
   ========================================================= */

@media (max-width: 920px) {

	/* ---------- A. Announcement strip ---------- */
	.site-header .announce,
	.announce {
		display: block !important;
		height: 34px;
	}

	.announce__inner {
		height: 34px;
		gap: 8px;
		padding-inline: 10px;
	}

	.announce__item,
	.announce p,
	.announce span {
		font-size: 11.5px;
		letter-spacing: 0;
	}

	.announce button,
	.announce .round-btn {
		width: 24px;
		height: 24px;
	}

	.announce svg {
		width: 13px;
		height: 13px;
	}

	.announce__dots {
		display: none;
	}

	/* ---------- B. App header ---------- */
	.mheader {
		display: block;
		background: #fff;
		border-bottom: 1px solid var(--border, #ECECEC);
		padding: 0 14px 10px;
	}

	.mheader__bar {
		direction: ltr;
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
		height: 56px;
		gap: 6px;
	}

	.mheader__side {
		display: flex;
		align-items: center;
		gap: 2px;
	}

	.mheader__side--end {
		justify-content: flex-end;
	}

	.mheader__ic {
		position: relative;
		width: 38px;
		height: 38px;
		display: grid;
		place-items: center;
		color: var(--primary, #1B3B2B);
		border-radius: 12px;
	}

	.mheader__ic svg {
		width: 21px;
		height: 21px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.6;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.mheader__badge {
		position: absolute;
		top: 3px;
		inset-inline-end: 3px;
		min-width: 16px;
		height: 16px;
		padding: 0 4px;
		border-radius: 999px;
		background: var(--gold, #C5A85C);
		color: #231f10;
		font-size: 9.5px;
		font-weight: 800;
		line-height: 16px;
		text-align: center;
	}

	.mheader__burger {
		width: 38px;
		height: 38px;
		display: grid;
		align-content: center;
		justify-items: center;
		gap: 4px;
		background: none;
		border: 0;
		border-radius: 12px;
	}

	.mheader__burger span {
		display: block;
		width: 18px;
		height: 2px;
		border-radius: 2px;
		background: var(--primary, #1B3B2B);
		transition: transform .25s ease, opacity .2s ease;
	}

	.mheader__burger.is-open span:nth-child(1) {
		transform: translateY(6px) rotate(45deg);
	}

	.mheader__burger.is-open span:nth-child(2) {
		opacity: 0;
	}

	.mheader__burger.is-open span:nth-child(3) {
		transform: translateY(-6px) rotate(-45deg);
	}

	.mheader__logo {
		display: grid;
		justify-items: center;
		gap: 1px;
		line-height: 1;
		color: var(--primary, #1B3B2B);
	}

	.mheader__logo strong {
		font-size: 19px;
		font-weight: 800;
		letter-spacing: .5px;
	}

	.mheader__logo em {
		display: inline-flex;
		align-items: center;
		gap: 3px;
		font-style: normal;
		font-size: 9.5px;
		font-weight: 700;
		letter-spacing: 3px;
		color: var(--gold, #C5A85C);
	}

	.mheader__logo em svg {
		width: 9px;
		height: 9px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.8;
	}

	.mheader__note {
		display: none;
	}

	.mheader__search {
		position: relative;
		display: flex;
		align-items: center;
		height: 42px;
		background: #F5F3EE;
		border: 1px solid #EAE6DC;
		border-radius: 12px;
		padding-inline: 12px 6px;
	}

	.mheader__search input[type="search"] {
		flex: 1;
		height: 100%;
		border: 0;
		background: none;
		font-family: inherit;
		font-size: 12.5px;
		color: var(--text, #222);
		outline: none;
		min-width: 0;
	}

	.mheader__search input::placeholder {
		color: #9b978f;
	}

	.mheader__search button {
		width: 32px;
		height: 32px;
		flex: 0 0 32px;
		display: grid;
		place-items: center;
		border: 0;
		background: none;
		color: var(--primary, #1B3B2B);
	}

	.mheader__search button svg {
		width: 18px;
		height: 18px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.7;
		stroke-linecap: round;
	}

	/* ---------- C. Hero as an inset banner card ---------- */
	.hero {
		height: 268px;
		min-height: 0;
		max-height: none;
		margin: 14px 14px 0;
		border-radius: 18px;
		overflow: hidden;
	}

	.hero__content {
		padding: 0 18px 34px;
		justify-content: flex-end;
	}

	.hero__eyebrow {
		font-size: 10px;
		padding: 5px 12px;
		letter-spacing: 1px;
	}

	.hero__title {
		font-size: 25px;
		line-height: 1.35;
		margin: 10px 0 6px;
	}

	.hero__sub {
		font-size: 12.5px;
		line-height: 1.6;
		margin-top: 2px;
		max-width: 28ch;
	}

	.hero__actions {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: center;
		gap: 8px;
		margin-top: 14px;
		max-width: none;
		width: auto;
	}

	.hero__actions .btn {
		width: auto;
		flex: 0 0 auto;
		min-height: 0;
		padding: 9px 18px;
		font-size: 12.5px;
		border-radius: 999px;
	}

	.hero__dots {
		bottom: 12px;
	}

	.hero__dot {
		width: 6px;
		height: 6px;
	}

	.hero__dot.is-active {
		width: 18px;
	}

	/* ---------- D. Type scale ---------- */
	body {
		font-size: 13.5px;
		line-height: 1.75;
	}

	main#main > section,
	.cats,
	.promo,
	.featured,
	.collections,
	.news {
		padding-block: 26px;
	}

	.cats {
		padding-top: 22px;
	}

	.sec-head {
		margin-bottom: 14px;
	}

	.sec-eyebrow {
		font-size: 10px;
		letter-spacing: .08em;
	}

	.sec-title {
		font-size: 19px;
		line-height: 1.4;
	}

	.sec-sub {
		font-size: 12px;
		line-height: 1.7;
	}

	/* ---------- E. Category tiles ---------- */
	.cat {
		width: 64px;
	}

	.cat__img {
		width: 64px;
		height: 64px;
		border-width: 1.5px;
	}

	.cat__name {
		font-size: 10.5px;
		margin-top: 6px;
	}

	.cats__track {
		gap: 12px;
	}

	/* ---------- F. Promo ---------- */
	.promo__banner {
		padding: 20px 16px 16px;
		border-radius: 18px;
	}

	.promo__title {
		font-size: 34px;
	}

	.promo__desc {
		font-size: 12px;
	}

	.promo__media img {
		height: 150px;
	}

	.service {
		padding: 13px 8px;
		border-radius: 14px;
	}

	.service__icon {
		width: 34px;
		height: 34px;
		margin-bottom: 8px;
	}

	.service__icon svg {
		width: 17px;
		height: 17px;
	}

	.service h3 {
		font-size: 11.5px;
	}

	.service p {
		font-size: 10px;
		line-height: 1.5;
	}

	/* ---------- G. Products: three per row ---------- */
	.products,
	.woocommerce ul.products,
	ul.products {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}

	.card,
	ul.products li.product {
		border-radius: 12px;
	}

	.card .wish,
	ul.products li.product .wish {
		width: 26px;
		height: 26px;
		top: 6px;
		inset-inline-end: 6px;
	}

	.card .wish svg {
		width: 13px;
		height: 13px;
	}

	.card .badge,
	ul.products li.product .badge {
		top: 6px;
		inset-inline-start: 6px;
		font-size: 8.5px;
		padding: 3px 7px;
	}

	.card__body,
	ul.products li.product .card__body {
		padding: 8px 7px 10px;
		gap: 3px;
		text-align: center;
	}

	.card__cat {
		font-size: 8.5px;
		letter-spacing: 0;
	}

	.card__name {
		font-size: 11px;
		line-height: 1.45;
		margin: 2px 0 3px;
	}

	.rating {
		justify-content: center;
		gap: 3px;
		margin-bottom: 3px;
	}

	.rating em {
		font-size: 8.5px;
	}

	.stars {
		font-size: 9px;
	}

	.prices {
		justify-content: center;
		gap: 4px;
		flex-direction: column;
		align-items: center;
	}

	.price-new {
		font-size: 12px;
	}

	.price-old {
		font-size: 9.5px;
	}

	/* ---------- H. Collections ---------- */
	.coll {
		height: 132px;
		border-radius: 14px;
	}

	.coll--lg {
		height: 156px;
	}

	.coll__body {
		padding: 12px;
		gap: 6px;
	}

	.coll__body h3 {
		font-size: 14px;
	}

	.coll__body .btn {
		padding: 6px 12px;
		font-size: 11px;
	}

	.stats {
		margin-top: 18px;
		border-radius: 14px;
	}

	.stats li {
		padding: 13px 6px;
	}

	.stats strong {
		font-size: 20px;
	}

	.stats span {
		font-size: 10.5px;
	}

	/* ---------- I. Smaller emerald newsletter ---------- */
	.news {
		padding-block: 22px;
	}

	.news__box {
		padding: 18px 14px;
		border-radius: 16px;
	}

	.news__box .sec-eyebrow {
		display: none;
	}

	.news__title {
		font-size: 16px;
		line-height: 1.5;
		margin-bottom: 4px;
	}

	.news__sub {
		font-size: 11.5px;
		line-height: 1.6;
		max-width: 36ch;
	}

	.news__form {
		grid-template-columns: 1fr auto;
		gap: 6px;
		margin-top: 12px;
		max-width: 320px;
	}

	.news__form input {
		height: 40px;
		font-size: 12px;
		border-radius: 10px;
		padding-inline: 12px;
	}

	.news__form .btn {
		width: auto;
		height: 40px;
		padding-inline: 16px;
		font-size: 12.5px;
		border-radius: 10px;
	}

	.news__note {
		font-size: 10px;
		margin-top: 8px;
	}

	/* ---------- J. Smaller emerald footer ---------- */
	.footer {
		padding-top: 26px;
	}

	.footer__grid {
		gap: 18px 14px;
		padding-bottom: 20px;
	}

	.footer__about {
		font-size: 11.5px;
		line-height: 1.8;
	}

	.social a {
		width: 32px;
		height: 32px;
	}

	.social svg {
		width: 15px;
		height: 15px;
	}

	.footer__col h4,
	.footer__title {
		font-size: 12px;
		margin-bottom: 8px;
	}

	.footer__col a {
		font-size: 11.5px;
	}

	.footer__col ul li + li {
		margin-top: 6px;
	}

	.app a {
		flex: 1 1 130px;
		max-width: 160px;
		padding: 7px 12px;
	}

	.footer__bottom {
		gap: 10px;
		padding-block: 14px;
	}

	.footer__bottom p,
	.footer__bottom small {
		font-size: 10.5px;
	}

	.pay img,
	.pay svg {
		height: 20px;
	}

	/* ---------- K. Smaller bottom app nav ---------- */
	.mnav {
		height: 54px;
		padding-bottom: env(safe-area-inset-bottom, 0);
	}

	.mnav__item {
		gap: 2px;
		font-size: 9.5px;
		padding-top: 6px;
	}

	.mnav__ic svg,
	.mnav__item svg {
		width: 19px;
		height: 19px;
	}

	.mnav__badge {
		min-width: 14px;
		height: 14px;
		font-size: 8.5px;
		line-height: 14px;
	}

	body {
		padding-bottom: calc(54px + env(safe-area-inset-bottom, 0px));
	}

	.to-top {
		bottom: 66px;
		width: 38px;
		height: 38px;
	}
}

/* ---------- L. Very small phones ---------- */
@media (max-width: 380px) {
	.hero {
		height: 246px;
	}

	.hero__title {
		font-size: 22px;
	}

	.card__name {
		font-size: 10.5px;
	}

	.price-new {
		font-size: 11.5px;
	}

	.cat,
	.cat__img {
		width: 58px;
	}

	.cat__img {
		height: 58px;
	}
}

/* ---------- M. Tablets ---------- */
@media (min-width: 640px) and (max-width: 920px) {
	.hero {
		height: 340px;
	}

	.products,
	.woocommerce ul.products,
	ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.card__name {
		font-size: 13px;
	}
}
