/**
 * Sidra Store — responsive layer
 *
 * Breakpoints: 1200 (laptop), 980 (tablet), 720 (large phone), 480 (phone).
 */

@media (max-width: 1200px) {
	:root {
		--sidra-gutter: 28px;
	}

	.sidra-hero__body { padding: 56px 36px; }
	.sidra-hero__title { font-size: 46px; }
	.sidra-hero__media { min-height: 420px; }

	.sidra-gifting__body { padding: 40px; }
	.sidra-gifting__title { font-size: 32px; }

	.sidra-search { width: 190px; }
	.sidra-nav > ul { gap: 18px; }
	.sidra-nav a { font-size: 15px; }

	.sidra-summary__title { font-size: 32px; }
	.sidra-product { gap: 32px; }
}

@media (max-width: 980px) {
	body { font-size: 15px; }

	/* Header collapses to: toggle · logo · cart */
	.sidra-navtoggle { display: flex; }

	.sidra-header__inner {
		flex-wrap: wrap;
		gap: 14px;
		padding-block: 14px;
	}

	.sidra-brand { max-width: 168px; margin-inline-end: auto; }

	.sidra-nav {
		order: 10;
		flex-basis: 100%;
		display: none;
	}

	.sidra-nav.is-open { display: block; }

	.sidra-nav > ul {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		border-top: 1px solid var(--sidra-line);
		padding-block-start: 8px;
	}

	.sidra-nav > ul > li > a {
		padding-block: 13px;
		border-bottom: 1px solid var(--sidra-line);
	}

	.sidra-nav a:hover,
	.sidra-nav .current-menu-item > a {
		border-bottom-color: var(--sidra-line);
	}

	.sidra-nav ul ul {
		position: static;
		display: block;
		border: 0;
		box-shadow: none;
		background: transparent;
		padding: 0 0 8px;
		padding-inline-start: 16px;
	}

	/*
	 * The search field lives inside .sidra-actions, so it can only drop to its
	 * own line if that row is allowed to wrap — otherwise it overflows the
	 * viewport. Give the actions row the full header width and let the search
	 * take a line under the icons.
	 */
	.sidra-actions {
		order: 20;
		flex: 1 1 100%;
		flex-wrap: wrap;
		justify-content: flex-end;
	}

	.sidra-search {
		order: 3;
		flex: 1 1 100%;
		width: 100%;
		min-width: 0;
	}

	/* Wishlist/account move into the mobile menu rather than crowding the bar. */
	.sidra-actions .sidra-iconbtn--wishlist { display: none; }

	.sidra-topbar__inner { flex-direction: column; gap: 6px; text-align: center; font-size: 13px; }
	.sidra-topbar__links { gap: 16px; }

	/* Hero stacks, image first for visual anchor */
	.sidra-hero { grid-template-columns: 1fr; }
	.sidra-hero__media { min-height: 300px; order: -1; }
	.sidra-hero__body { padding: 40px 0; }
	.sidra-hero__title { font-size: 38px; }
	.sidra-hero__text { font-size: 17px; }

	.sidra-trust__grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }

	.sidra-section { padding-block: 48px; }
	.sidra-section__title { font-size: 27px; }

	.sidra-products--4 { grid-template-columns: repeat(3, 1fr); }
	.woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }

	.sidra-gifting { grid-template-columns: 1fr; margin-block-end: 48px; }
	.sidra-gifting__media { min-height: 220px; order: -1; }

	.sidra-occasions { grid-template-columns: repeat(2, 1fr); }
	.sidra-quotes__grid { grid-template-columns: 1fr; gap: 28px; padding-block: 40px; }

	/* Shop: filters become a disclosure above the grid */
	.sidra-shop { grid-template-columns: 1fr; gap: 24px; }

	.sidra-filters {
		position: static;
		display: none;
		background: var(--sidra-surface);
		border: 1px solid var(--sidra-line-card);
		border-radius: var(--sidra-radius-md);
		padding: 20px;
	}

	.sidra-filters.is-open { display: flex; }
	.sidra-filterstoggle { display: inline-flex; }

	.sidra-product { grid-template-columns: 1fr; gap: 28px; padding-block: 26px; }
	.sidra-summary__title { font-size: 28px; }
	.sidra-summary__price { font-size: 30px; }

	.sidra-pagehead__title { font-size: 32px; }

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

	.sidra-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px; padding-block: 40px; }
	.sidra-footer__brand { grid-column: 1 / -1; }

	.woocommerce .cart-collaterals { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
	.sidra-products--4,
	.sidra-products--3,
	.woocommerce ul.products,
	.woocommerce ul.products.columns-3 {
		grid-template-columns: repeat(2, 1fr);
	}

	.sidra-card__body { padding: 14px; gap: 7px; }
	.sidra-card__title { font-size: 16px; min-height: 46px; }
	.sidra-card__price { font-size: 19px; }
	.sidra-btn--soft { font-size: 14px; padding: 13px 16px; }

	.sidra-assure { grid-template-columns: 1fr; gap: 12px; }

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

	.sidra-hero__meta { gap: 12px; font-size: 13px; }
	.sidra-hero__actions .sidra-btn { flex: 1 1 100%; }

	/* Sticky buy bar takes over from the inline row on product pages. */
	.single-product .sidra-buybar { display: flex; }
	.single-product .sidra-footer { padding-block-end: 74px; }

	.sidra-whatsapp { bottom: 84px; }
	.single-product .sidra-whatsapp { bottom: 84px; }

	.sidra-empty { padding-block: 56px; }
	.sidra-empty__title { font-size: 30px; }

	.woocommerce table.shop_table thead { display: none; }

	.woocommerce table.shop_table tr {
		display: grid;
		grid-template-columns: 88px 1fr;
		gap: 4px 14px;
		padding: 16px;
		border-top: 1px solid var(--sidra-line-soft);
		align-items: center;
	}

	.woocommerce table.shop_table td {
		border: 0;
		padding: 2px 0;
	}

	.woocommerce table.shop_table td.product-thumbnail {
		grid-row: span 4;
	}

	.woocommerce table.shop_table td::before {
		content: attr(data-title) ": ";
		color: var(--sidra-text-muted);
		font-size: 13px;
	}

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

@media (max-width: 480px) {
	:root {
		--sidra-gutter: 16px;
	}

	.sidra-hero__title { font-size: 30px; }
	.sidra-hero__body { gap: 18px; }
	.sidra-section { padding-block: 36px; }
	.sidra-section__title { font-size: 23px; }
	.sidra-section__head { margin-block-end: 20px; }

	.sidra-trust__grid { grid-template-columns: 1fr; gap: 14px; }

	.sidra-products--4,
	.sidra-products--3,
	.sidra-products--2,
	.woocommerce ul.products,
	.woocommerce ul.products.columns-3,
	.woocommerce ul.products.columns-2 {
		grid-template-columns: 1fr;
	}

	.sidra-occasions { grid-template-columns: 1fr; gap: 14px; }
	.sidra-occasion { height: 140px; }

	.sidra-gifting__body { padding: 28px 20px; }
	.sidra-gifting__title { font-size: 26px; }

	.sidra-footer__grid { grid-template-columns: 1fr; }
	.sidra-footer__bar { flex-direction: column; align-items: flex-start; gap: 12px; }

	.sidra-postgrid { grid-template-columns: 1fr; }

	.sidra-pagehead__title { font-size: 26px; }
	.sidra-summary__title { font-size: 24px; }
	.sidra-summary__price { font-size: 26px; }

	.sidra-buyrow { gap: 10px; }
	.sidra-buyrow .sidra-btn { flex-basis: 100%; }

	.sidra-swatch { padding: 10px 16px; font-size: 14px; }
	.sidra-swatch--active { padding: 9px 15px; }

	.sidra-accordion__trigger { font-size: 16px; }

	.woocommerce table.shop_table tr { grid-template-columns: 68px 1fr; }
	.woocommerce table.shop_table img { width: 64px; }
}

/* ------------------------------- cart / checkout / account / content pages */

@media (max-width: 1200px) {
	.sidra-split2,
	.sidra-checkout,
	.sidra-contact { grid-template-columns: 1fr 340px; }

	.sidra-account { grid-template-columns: 240px 1fr; }
	.sidra-abouthero__title { font-size: 40px; }
}

@media (max-width: 980px) {
	/* Every two-column shell stacks; sticky rails become normal flow. */
	.sidra-split2,
	.sidra-checkout,
	.sidra-account,
	.sidra-doc,
	.sidra-contact,
	.sidra-abouthero__grid,
	.sidra-split {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.sidra-summarypanel,
	.sidra-review,
	.sidra-accountnav,
	.sidra-docnav { position: static; }

	.sidra-cards { grid-template-columns: repeat(2, 1fr); }
	.sidra-stats__grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
	.sidra-stats { padding-block: 36px; }

	.sidra-abouthero { padding-block: 48px; }
	.sidra-abouthero__title { font-size: 34px; }
	.sidra-abouthero__text { font-size: 17px; }
	.sidra-abouthero__media { height: 240px; }

	.sidra-split__media { height: 240px; }
	.sidra-split__title { font-size: 26px; }

	.sidra-cartpage__title,
	.sidra-checkout__title,
	.sidra-account__title { font-size: 28px; }

	.sidra-blank { padding-block: 56px 40px; }
	.sidra-blank__title { font-size: 27px; }
	.sidra-blank__icon { width: 88px; height: 88px; }
	.sidra-blank__icon .mi { font-size: 40px; }

	.sidra-404__inner { padding-block: 56px 64px; }
	.sidra-404__code { font-size: 72px; }
	.sidra-404__title { font-size: 26px; }
	.sidra-404__mark { width: 88px; }

	/* Rate table stacks into labelled rows. */
	.sidra-ratetable thead { display: none; }
	.sidra-ratetable,
	.sidra-ratetable tbody,
	.sidra-ratetable tr,
	.sidra-ratetable td { display: block; width: auto; }

	.sidra-ratetable tr {
		border-top: 1px solid #f1f0e7;
		padding: 14px 18px;
	}

	.sidra-ratetable td {
		border: 0;
		padding: 3px 0;
		font-size: 15px;
	}

	.sidra-ratetable td::before {
		content: attr(data-label) ": ";
		color: var(--sidra-text-faint);
		font-size: 13px;
	}
}

@media (max-width: 720px) {
	/* Cart line becomes the design's compact mobile card. */
	.sidra-line {
		grid-template-columns: 86px 1fr;
		gap: 14px;
		padding: 14px;
		align-items: start;
	}

	.sidra-line__thumb { width: 86px; height: 86px; }

	.sidra-line__end {
		grid-column: 2;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}

	.sidra-line__name { font-size: 16px; }
	.sidra-line__total { font-size: 18px; }

	.sidra-giftrow { flex-direction: column; align-items: stretch; }
	.sidra-giftrow .sidra-btn { width: 100%; }

	.sidra-cards { grid-template-columns: 1fr; }

	.sidra-order__head { gap: 10px; }
	.sidra-order__actions { width: 100%; }
	.sidra-order__actions .sidra-btn { flex: 1; }

	.sidra-thanks { padding: 40px 20px 36px; }
	.sidra-thanks__title { font-size: 26px; }
	.sidra-thanks .mi { font-size: 46px; }

	.sidra-trackform { flex-direction: column; align-items: stretch; }
	.sidra-trackform .sidra-btn { width: 100%; }

	/* ---- mobile app chrome ---- */

	.sidra-tabbar { display: grid; }

	/* Pages with their own sticky action bar hide the tab bar. */
	body.single-product .sidra-tabbar,
	body.woocommerce-cart .sidra-tabbar,
	body.woocommerce-checkout .sidra-tabbar { display: none; }

	.sidra-footer { padding-block-end: 78px; }

	/* Swap the wordmark for the compact icon mark. */
	.sidra-brand img:not(.sidra-brand__icon) { display: none; }
	.sidra-brand__icon { display: block; }
	.sidra-brand { max-width: none; width: auto; }

	.sidra-scrollchips { display: flex; }

	.sidra-stats__grid { grid-template-columns: 1fr 1fr; }
	.sidra-stat__num { font-size: 30px; }
}

@media (max-width: 480px) {
	.sidra-panel { padding: 18px; }
	.sidra-cartpage { padding-block: 22px 40px; }
	.sidra-checkout,
	.sidra-account { padding-block: 22px 40px; }

	.sidra-grandtotal__value { font-size: 24px; }
	.sidra-summarypanel__title { font-size: 19px; }

	.sidra-stats__grid { grid-template-columns: 1fr; }
	.sidra-abouthero__title { font-size: 28px; }
	.sidra-blank__title { font-size: 23px; }
	.sidra-404__code { font-size: 60px; }

	.sidra-timeline__step { grid-template-columns: 30px 1fr; gap: 12px; }
	.sidra-timeline__name { font-size: 16px; }
	.sidra-timeline__body { padding-bottom: 20px; }

	.sidra-order__thumbs img,
	.sidra-order__thumbs .sidra-placeholder { width: 54px; height: 54px; }
}

/* --------------------------------------------------------------- a11y/print */

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }

	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
	}

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

@media print {
	.sidra-topbar,
	.sidra-header,
	.sidra-footer,
	.sidra-buybar,
	.sidra-whatsapp,
	.sidra-filters,
	.sidra-pagination { display: none !important; }

	body { background: #fff; }
}
