/* =====================================================================
   Half Skull — legal-page & About-Us design pass
   Same token set as halfskull-m3.css (red / ink / surface, M3 radii).
   ===================================================================== */

/* ---------- Legal pages (Terms, Privacy, Return&Refund, Shipping, Disclaimer, Term of Use) ---------- */

.hs-legal-page .entry-content,
.hs-legal-page .site-content .content-area,
.hs-legal-page article .entry-content {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
	font-family: var(--hs-font-body, "Poppins", sans-serif);
	color: var(--m3-on-surface, #131316);
	line-height: 1.7;
}

/* "Last updated: ..." line -> pill badge */
.hs-legal-page .entry-content > p:first-child {
	display: inline-block;
	background: var(--m3-surface-container, #f0ede9);
	color: var(--m3-on-surface-variant, #55575d);
	font-size: 13px;
	font-weight: 600;
	padding: 6px 16px;
	border-radius: var(--m3-r-full, 999px);
	margin-bottom: 24px;
}
.hs-legal-page .entry-content > p:first-child em {
	font-style: normal;
}

.hs-legal-page h2.wp-block-heading {
	font-family: var(--hs-font-display, "Bricolage Grotesque", sans-serif);
	font-size: 22px;
	font-weight: 800;
	color: var(--m3-ink, #131316);
	margin: 40px 0 16px;
	padding-left: 16px;
	border-left: 4px solid var(--m3-primary, #e3001c);
	scroll-margin-top: 24px;
}
.hs-legal-page h3.wp-block-heading {
	font-size: 16px;
	font-weight: 700;
	color: var(--m3-ink, #131316);
	margin: 24px 0 10px;
}

.hs-legal-page p {
	margin: 0 0 16px;
}

.hs-legal-page ul.wp-block-list,
.hs-legal-page ol.wp-block-list {
	margin: 0 0 20px;
	padding-left: 0;
	list-style: none;
}
.hs-legal-page ul.wp-block-list li {
	position: relative;
	padding-left: 26px;
	margin-bottom: 10px;
}
.hs-legal-page ul.wp-block-list li::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 9px;
	width: 7px;
	height: 7px;
	border-radius: 2px;
	background: var(--m3-primary, #e3001c);
}
.hs-legal-page ol.wp-block-list {
	counter-reset: hs-legal-ol;
}
.hs-legal-page ol.wp-block-list li {
	position: relative;
	padding-left: 30px;
	margin-bottom: 12px;
	counter-increment: hs-legal-ol;
}
.hs-legal-page ol.wp-block-list li::before {
	content: counter(hs-legal-ol);
	position: absolute;
	left: 0;
	top: 0;
	width: 20px;
	height: 20px;
	border-radius: var(--m3-r-full, 999px);
	background: var(--m3-primary-container, #ffe1e4);
	color: var(--m3-on-primary-container, #6e000f);
	font-size: 12px;
	font-weight: 700;
	line-height: 20px;
	text-align: center;
}

.hs-legal-page a {
	color: var(--m3-primary, #e3001c);
	text-decoration: underline;
	text-decoration-color: var(--m3-primary-container, #ffe1e4);
	text-underline-offset: 2px;
}
.hs-legal-page a:hover {
	color: var(--m3-primary-hover, #c20018);
}

/* Tables (Delivery Charges, etc.) */
.hs-legal-page .wp-block-table {
	margin: 8px 0 24px;
	overflow-x: auto;
	border-radius: var(--m3-r-lg, 20px);
	box-shadow: var(--m3-e1, 0 1px 2px rgba(19,19,22,.06), 0 1px 3px 1px rgba(19,19,22,.04));
}
.hs-legal-page table.has-fixed-layout {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
.hs-legal-page table.has-fixed-layout thead th {
	background: var(--m3-ink, #131316);
	color: #fff;
	text-align: left;
	padding: 14px 18px;
	font-weight: 700;
}
.hs-legal-page table.has-fixed-layout td {
	padding: 14px 18px;
	border-bottom: 1px solid var(--m3-outline-variant, #e3e0dc);
	background: var(--m3-surface-lowest, #fff);
}
.hs-legal-page table.has-fixed-layout tr:last-child td {
	border-bottom: none;
}
.hs-legal-page table.has-fixed-layout tr:nth-child(even) td {
	background: var(--m3-surface-low, #f6f4f1);
}

/* Contact / business-details closing paragraphs (they all contain a <strong>NAME</strong> + <br> address block) */
.hs-legal-page p:has(> strong:first-child):has(br) {
	background: var(--m3-surface-low, #f6f4f1);
	border-radius: var(--m3-r-lg, 20px);
	padding: 20px 24px;
	font-size: 14.5px;
	line-height: 1.8;
}

/* Auto-built "On this page" TOC */
.hs-legal-toc {
	background: var(--m3-surface-lowest, #fff);
	border: 1.5px solid var(--m3-outline-variant, #e3e0dc);
	border-radius: var(--m3-r-lg, 20px);
	padding: 20px 24px;
	margin: 24px 0 32px;
}
.hs-legal-toc__title {
	margin: 0 0 12px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--m3-primary, #e3001c);
}
.hs-legal-toc ol {
	margin: 0;
	padding: 0;
	list-style: none;
	columns: 2;
	column-gap: 24px;
}
.hs-legal-toc li {
	margin-bottom: 8px;
	break-inside: avoid;
}
.hs-legal-toc a {
	font-size: 14px;
	font-weight: 600;
	color: var(--m3-on-surface, #131316);
	text-decoration: none;
}
.hs-legal-toc a:hover {
	color: var(--m3-primary, #e3001c);
}

@media (max-width: 600px) {
	.hs-legal-toc ol {
		columns: 1;
	}
	.hs-legal-page h2.wp-block-heading {
		font-size: 19px;
	}
}

/* ---------- FAQ accordion (native <details>/<summary> — same Elementor
   decode issue as About Us affects this page's accordion widget) ---------- */

.hs-faq {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 8px 0;
}
.hs-faq__item {
	border: 1px solid var(--m3-outline-variant, #e3e0dc);
	border-radius: var(--m3-r-lg, 20px);
	background: var(--m3-surface-lowest, #fff);
	overflow: hidden;
}
.hs-faq__item summary {
	cursor: pointer;
	list-style: none;
	padding: 18px 48px 18px 22px;
	font-weight: 600;
	font-size: 15.5px;
	color: var(--m3-ink, #131316);
	position: relative;
	line-height: 1.4;
}
.hs-faq__item summary::-webkit-details-marker {
	display: none;
}
.hs-faq__item summary::after {
	content: "+";
	position: absolute;
	right: 22px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 22px;
	font-weight: 400;
	color: var(--m3-primary, #e3001c);
	transition: transform .2s;
}
.hs-faq__item[open] summary::after {
	transform: translateY(-50%) rotate(45deg);
}
.hs-faq__item[open] summary {
	border-bottom: 1px solid var(--m3-outline-variant, #e3e0dc);
}
.hs-faq__body {
	background: var(--m3-surface-low, #f6f4f1);
	padding: 16px 22px;
}
.hs-faq__body p {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.7;
	color: var(--m3-on-surface-variant, #55575d);
}

/* ---------- About Us: full design pass (plain HTML — Elementor data on this
   page can't be decoded by the currently installed Elementor version; see
   halfskull_legal_add_toc note. This is post_content, styled directly.) ---------- */

.hs-about-page .entry-content,
.hs-about-page article .entry-content {
	max-width: 900px;
	margin: 0 auto;
	font-family: var(--hs-font-body, "Poppins", sans-serif);
	color: var(--m3-on-surface, #131316);
}

.hs-about-hero {
	display: flex;
	align-items: center;
	gap: 40px;
	margin: 8px 0 32px;
}
.hs-about-hero__media {
	flex: 0 0 240px;
}
.hs-about-hero__media img {
	width: 240px;
	height: 240px;
	border-radius: var(--m3-r-full, 999px);
	object-fit: cover;
	box-shadow: var(--m3-e2, 0 8px 20px -8px rgba(19,19,22,.18));
}
.hs-about-hero__text {
	flex: 1;
	min-width: 0;
}
.hs-about-hero__text h1 {
	font-family: var(--hs-font-display, "Bricolage Grotesque", sans-serif);
	font-weight: 800;
	font-size: clamp(32px, 5vw, 48px);
	line-height: 1.05;
	letter-spacing: -0.01em;
	margin: 0 0 12px;
	color: var(--m3-ink, #131316);
}
.hs-about-hero__text p {
	font-size: 18px;
	line-height: 1.6;
	color: var(--m3-on-surface-variant, #55575d);
	max-width: 52ch;
	margin: 0 0 8px;
}

.hs-about-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 16px 0 20px;
}
.hs-about-badge {
	display: inline-flex;
	align-items: center;
	background: var(--m3-surface-container, #f0ede9);
	color: var(--m3-on-surface, #131316);
	font-size: 12.5px;
	font-weight: 700;
	padding: 7px 14px;
	border-radius: var(--m3-r-full, 999px);
	border: 1px solid var(--m3-outline-variant, #e3e0dc);
}
.hs-about-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--m3-primary, #e3001c);
	color: #fff !important;
	font-weight: 700;
	font-size: 15px;
	padding: 14px 28px;
	border-radius: var(--m3-r-full, 999px);
	text-decoration: none !important;
	box-shadow: var(--m3-e2, 0 8px 20px -8px rgba(19,19,22,.18));
	transition: transform .2s var(--m3-spring, ease), background .2s;
}
.hs-about-cta:hover {
	background: var(--m3-primary-hover, #c20018);
	transform: translateY(-2px);
}

.hs-about-banner {
	margin: 8px 0 40px;
}
.hs-about-banner img {
	width: 100%;
	height: auto;
	border-radius: var(--m3-r-2xl, 36px);
	box-shadow: var(--m3-e2, 0 8px 20px -8px rgba(19,19,22,.18));
}

.hs-about-section {
	margin: 0 0 32px;
}
.hs-about-section h2,
.hs-about-grid h2 {
	font-family: var(--hs-font-display, "Bricolage Grotesque", sans-serif);
	font-weight: 800;
	font-size: 24px;
	color: var(--m3-ink, #131316);
	margin: 0 0 14px;
}
.hs-about-section p {
	font-size: 16px;
	line-height: 1.7;
	color: var(--m3-on-surface, #131316);
	margin: 0 0 12px;
}

.hs-about-grid {
	display: flex;
	gap: 32px;
	margin: 0 0 40px;
}
.hs-about-col {
	flex: 1;
	min-width: 0;
}
.hs-about-cards {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.hs-about-cards li {
	position: relative;
	background: var(--m3-surface-lowest, #fff);
	border: 1px solid var(--m3-outline-variant, #e3e0dc);
	border-radius: var(--m3-r-lg, 20px);
	padding: 16px 18px 16px 40px;
	line-height: 1.55;
	font-size: 15px;
	box-shadow: var(--m3-e1, 0 1px 2px rgba(19,19,22,.06));
	transition: transform .2s, box-shadow .2s;
}
.hs-about-cards li:hover {
	transform: translateY(-2px);
	box-shadow: var(--m3-e2, 0 8px 20px -8px rgba(19,19,22,.18));
}
.hs-about-cards li::before {
	content: "";
	position: absolute;
	left: 16px;
	top: 20px;
	width: 8px;
	height: 8px;
	border-radius: 2px;
	background: var(--m3-primary, #e3001c);
}

.hs-about-quote {
	position: relative;
	margin: 0 0 40px;
	padding: 8px 0 8px 28px;
	border-left: 4px solid var(--m3-primary, #e3001c);
	font-family: var(--hs-font-display, "Bricolage Grotesque", sans-serif);
	font-size: clamp(20px, 3vw, 26px);
	font-weight: 700;
	line-height: 1.35;
	color: var(--m3-ink, #131316);
}

.hs-about-contact-card {
	background: var(--m3-surface-low, #f6f4f1);
	border-radius: var(--m3-r-lg, 20px);
	padding: 20px 24px;
	margin-top: 16px;
	font-size: 14px;
	line-height: 1.8;
	color: var(--m3-on-surface-variant, #55575d);
}
.hs-about-contact-card strong {
	color: var(--m3-ink, #131316);
}
.hs-about-contact-card a {
	color: var(--m3-primary, #e3001c);
}

.hs-about-shop-gallery {
	display: flex;
	gap: 16px;
	margin: 0 0 40px;
}
.hs-about-shop-gallery a {
	flex: 1;
	display: block;
	border-radius: var(--m3-r-xl, 28px);
	overflow: hidden;
	box-shadow: var(--m3-e1, 0 1px 2px rgba(19,19,22,.06));
}
.hs-about-shop-gallery img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform .3s;
}
.hs-about-shop-gallery a:hover img {
	transform: scale(1.03);
}

.hs-about-trust {
	display: flex;
	gap: 24px;
	padding-top: 32px;
	border-top: 1px solid var(--m3-outline-variant, #e3e0dc);
}
.hs-about-trust__item {
	flex: 1;
}
.hs-about-trust__item h3 {
	font-family: var(--hs-font-display, "Bricolage Grotesque", sans-serif);
	font-weight: 700;
	font-size: 17px;
	margin: 0 0 6px;
	color: var(--m3-ink, #131316);
}
.hs-about-trust__item p {
	margin: 0;
	font-size: 14px;
	color: var(--m3-on-surface-variant, #55575d);
}

@media (max-width: 767px) {
	.hs-about-hero {
		flex-direction: column;
		text-align: center;
		gap: 20px;
	}
	.hs-about-hero__text p {
		max-width: none;
	}
	.hs-about-badges {
		justify-content: center;
	}
	.hs-about-grid,
	.hs-about-shop-gallery,
	.hs-about-trust {
		flex-direction: column;
	}
}
