/*
 * Mazboot Packaging (packaging): portfolio styles.
 * Colours, sizes, corners and buttons come from Site Kit (tokens.css). This file adds the font,
 * the corrugated "flute" motif and the homepage / quote page layout. Unlayered: wins over shared styles.
 */

/* ---------- font (self-hosted Latin; Bangla uses Site Kit's Hind Siliguri) ---------- */
@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("fonts/archivo-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	/* Corrugated flute: one wavy line. Used as a mask so it takes any colour. */
	--flute: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='10'%3E%3Cpath d='M0 5 Q5 0 10 5 T20 5' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E");
}

.section-head__text::after,
.site-footer::before {
	background-color: var(--accent);
	-webkit-mask: var(--flute) repeat-x center / 20px 10px;
	mask: var(--flute) repeat-x center / 20px 10px;
}

/* Bangla reads better a little larger and looser than Latin. */
:lang(bn) body { line-height: 1.75; }
:lang(bn) :is(h1, h2, h3) { letter-spacing: 0; line-height: 1.3; }

.eyebrow {
	color: var(--accent);
	font-size: var(--text-xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
:lang(bn) .eyebrow { letter-spacing: 0.02em; font-size: var(--text-s); }

/* ---------- header and footer ---------- */
.site-header { border-block-end: 1px solid var(--border); }
.site-header__logo-img { block-size: 2.6rem; inline-size: auto; }
@media (min-width: 1100px) { .site-header__logo-img { block-size: 3rem; } }
.aura-nav--bar .aura-nav__list > li > a { font-weight: 600; }

.site-footer { position: relative; }
.site-footer::before { content: ""; position: absolute; inset-inline: 0; inset-block-start: 1.1rem; block-size: 10px; opacity: 0.5; }

/* ---------- shared section pieces ---------- */
.home-section { padding-block: var(--section-m); }
.home-section__inner { align-items: stretch; gap: var(--content-gap); }
.section-head { display: grid; justify-items: center; gap: var(--gap-xs); text-align: center; }
.section-head__text { display: grid; justify-items: center; gap: 0.35rem; }
.section-head__text > * { margin: 0; }
.section-head__title { font-size: var(--h2); }
.section-head__text::after { content: ""; display: block; inline-size: 6rem; block-size: 10px; margin-block-start: 0.6rem; }
.section-head__more { color: var(--primary); font-size: var(--text-s); font-weight: 700; text-decoration: underline; text-underline-offset: 0.35em; }

/* ---------- 1. hero ---------- */
.hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); padding: 0; overflow: hidden; background: var(--bg-light); }
.hero__image,
.hero__image img { display: block; inline-size: 100%; block-size: 56vh; min-block-size: 20rem; object-fit: cover; object-position: 70% center; }
.hero__inner { padding-block: var(--section-s); padding-inline: var(--gutter); }
.hero__content { display: grid; justify-items: start; gap: var(--gap-s); inline-size: 100%; max-inline-size: min(34rem, 100%); }
.hero__content > * { margin: 0; }
.hero__title { font-size: clamp(2.3rem, 1.5rem + 3.4vw, 4.4rem); font-weight: 800; line-height: 1.02; letter-spacing: -0.025em; }
:lang(bn) .hero__title { font-size: clamp(2rem, 1.4rem + 2.8vw, 3.6rem); line-height: 1.25; letter-spacing: 0; }
.hero__text { max-inline-size: min(30rem, 100%); font-size: var(--text-l); }
.hero__actions { display: flex; flex-wrap: wrap; gap: var(--gap-xs); margin-block-start: var(--gap-xs); }
@media (min-width: 900px) {
	.hero { min-block-size: min(84vh, 50rem); }
	.hero__image,
	.hero__image img { position: absolute; inset: 0; block-size: 100%; min-block-size: 0; object-position: center; }
	.hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgb(250 248 244 / 0.94) 0%, rgb(250 248 244 / 0.7) 34%, rgb(250 248 244 / 0) 60%); }
	.hero__inner { position: relative; z-index: 2; justify-content: center; padding-block: var(--section-l); }
}

/* ---------- 2. strip ---------- */
.home-strip { padding-block: var(--gap-m); border-block-end: 1px solid var(--border); background: var(--bg); }
.strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-s); margin: 0; padding: 0; list-style: none; }
@media (min-width: 900px) { .strip { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.strip__item { display: flex; align-items: center; gap: 0.6rem; margin: 0; color: var(--heading-color); font-size: var(--text-s); font-weight: 600; }
.strip__icon { flex: none; inline-size: auto; color: var(--primary); }

/* ---------- 3. box types ---------- */
.type-grid,
.journal-grid { display: grid; gap: var(--grid-gap); margin: 0; padding: 0; list-style: none; }
.type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) { .type-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .type-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.type-grid > li,
.journal-grid > li { margin: 0; }
.type-tile { display: grid; gap: 0.6rem; padding: var(--gap-xs); border: 1px solid var(--border); border-radius: var(--radius); background: #fff; color: inherit; text-decoration: none; transition: border-color var(--transition); }
.type-tile:hover { border-color: var(--primary); }
.type-tile__image,
.type-tile__image img { display: block; inline-size: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: calc(var(--radius) - 2px); background: var(--bg-light); }
.type-tile__label { display: grid; gap: 0.15rem; padding-inline: 0.2rem; }
.type-tile__name { margin: 0; font-size: var(--text-m); font-weight: 700; line-height: 1.3; }
.type-tile:hover .type-tile__name { color: var(--primary); }
.type-tile__count { color: var(--text-muted); font-size: var(--text-xs); }

/* ---------- product rows ---------- */
.home-products { --shop-columns: 4; }
.home-stock { background: var(--bg-light); }

/* ---------- 5. steps ---------- */
.step-grid { display: grid; gap: var(--grid-gap); margin: 0; padding: 0; list-style: none; counter-reset: none; }
@media (min-width: 768px) { .step-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .step-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* Photo on top, then the number badge beside the title (in the flow, so it can never cover the text), then the text. */
.step { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "img img" "num title" "text text"; align-content: start; align-items: center; column-gap: 0.7rem; row-gap: 0.6rem; margin: 0; }
.step > * { margin: 0; }
.step__image { grid-area: img; }
.step__image,
.step__image img { display: block; inline-size: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); background: var(--bg-light); }
.step__number { grid-area: num; display: grid; place-items: center; inline-size: 2.2rem; block-size: 2.2rem; border-radius: 50%; background: var(--primary); color: #fff; font-weight: 800; }
.step__title { grid-area: title; font-size: var(--h4); line-height: 1.25; }
.step__text { grid-area: text; color: var(--text-color); font-size: var(--text-s); }
.home-steps__cta { align-self: center; justify-self: center; }

/* ---------- 6. ply guide ---------- */
.home-ply { background: var(--bg-dark); color: rgb(255 255 255 / 0.85); }
.home-ply .section-head__title,
.home-ply .ply-card__title { color: #fff; }
.ply-grid { display: grid; gap: var(--grid-gap); }
@media (min-width: 900px) { .ply-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ply-card { display: grid; align-content: start; gap: var(--gap-xs); padding: var(--gap-s); border: 1px solid rgb(255 255 255 / 0.14); border-radius: var(--radius); background: rgb(255 255 255 / 0.04); }
.ply-card > * { margin: 0; }
.ply-card__image,
.ply-card__image img { display: block; inline-size: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: calc(var(--radius) - 2px); background: rgb(255 255 255 / 0.06); }
.ply-card__title { font-size: var(--h3); }
.ply-card__link { color: #e9c79a; font-weight: 700; text-decoration: underline; text-underline-offset: 0.35em; }

/* ---------- 7. who we pack for ---------- */
.who-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--grid-gap); }
@media (min-width: 900px) { .who-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.who-tile { position: relative; display: block; overflow: hidden; border-radius: var(--radius); color: #fff; text-decoration: none; }
.who-tile__image,
.who-tile__image img { display: block; inline-size: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: var(--bg-light); transition: transform 0.6s var(--easing); }
.who-tile:hover .who-tile__image { transform: scale(1.04); }
.who-tile__name { position: absolute; inset: auto 0 0; padding: var(--gap-s); background: linear-gradient(0deg, rgb(31 36 33 / 0.8), rgb(31 36 33 / 0)); font-weight: 700; }

/* ---------- 8. printed ---------- */
.home-printed { background: var(--bg-light); }
.printed { display: grid; gap: var(--gap-l); align-items: center; }
@media (min-width: 900px) { .printed { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); } }
.printed__text { display: grid; justify-items: start; gap: var(--gap-s); }
.printed__text > * { margin: 0; }
.printed__title { font-size: var(--h2); }
.printed__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-xs); }
.printed__image,
.printed__image img { display: block; inline-size: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius); background: #fff; }

/* ---------- 9. story ---------- */
.story { display: grid; gap: var(--gap-l); align-items: center; }
@media (min-width: 900px) { .story { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.story__image,
.story__image img { display: block; inline-size: 100%; aspect-ratio: 4 / 5; max-block-size: 34rem; object-fit: cover; border-radius: var(--radius); }
.story__text { display: grid; justify-items: start; gap: var(--gap-s); max-inline-size: min(34rem, 100%); }
.story__text > * { margin: 0; }
.story__title { font-size: var(--h2); }

/* ---------- 10. FAQ ---------- */
.faq { display: grid; gap: var(--gap-xs); inline-size: 100%; max-inline-size: 48rem; margin-inline: auto; }
.faq__item { border: 1px solid var(--border); border-radius: var(--radius); background: #fff; }
.faq__q { position: relative; padding: var(--gap-s) 3rem var(--gap-s) var(--gap-s); color: var(--heading-color); font-weight: 700; cursor: pointer; list-style: none; }
.faq__q::-webkit-details-marker { display: none; }
.faq__q::after { content: "+"; position: absolute; inset-inline-end: var(--gap-s); inset-block-start: 50%; transform: translateY(-50%); color: var(--primary); font-size: 1.4rem; font-weight: 400; }
.faq__item[open] .faq__q::after { content: "−"; }
.faq__a { margin: 0; padding: 0 var(--gap-s) var(--gap-s); }

/* ---------- 11. band ---------- */
.home-band { background: var(--primary); color: rgb(255 255 255 / 0.9); }
.home-band .home-section__inner { align-items: center; text-align: center; }
.band__title { margin: 0; color: #fff; font-size: var(--h2); }
.band__text { margin: 0; }
.band__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--gap-xs); }

/* ---------- 12. journal ---------- */
@media (min-width: 768px) { .journal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.journal-grid__item { display: grid; align-content: start; gap: var(--gap-xs); }
.journal-card__image,
.journal-card__image img { display: block; inline-size: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--radius); background: var(--bg-light); }
.journal-card__title { margin: 0; font-size: var(--h4); }
.journal-card__title a { color: var(--heading-color); text-decoration: none; }
.journal-card__excerpt { color: var(--text-muted); font-size: var(--text-s); }

/* ---------- quote page ---------- */
.page-hero { padding-block: var(--section-s); background: var(--bg-light); border-block-end: 1px solid var(--border); }
.page-hero__inner { gap: var(--gap-xs); }
.page-hero__inner > * { margin: 0; }
.page-hero__title { font-size: var(--h1); }
.page-hero__text { max-inline-size: min(40rem, 100%); font-size: var(--text-l); }
.quote-body { padding-block: var(--section-s) var(--section-m); }
.quote-layout { display: grid; gap: var(--gap-l); align-items: start; }
@media (min-width: 1000px) { .quote-layout { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); } .quote-layout__aside { position: sticky; inset-block-start: 6rem; } }
.quote-layout__aside { display: grid; gap: var(--gap-s); padding: var(--gap-m); border: 1px solid var(--border); border-radius: var(--radius); background: #fff; }
.quote-layout__aside > * { margin: 0; }
.quote-steps__title { font-size: var(--h4); }
.quote-steps { display: grid; gap: var(--gap-s); margin: 0; padding: 0; list-style: none; counter-reset: qstep; }
.quote-steps__item { position: relative; display: grid; gap: 0.15rem; padding-inline-start: 2.6rem; counter-increment: qstep; }
.quote-steps__item::before { content: counter(qstep); position: absolute; inset-inline-start: 0; inset-block-start: 0; display: grid; place-items: center; inline-size: 1.9rem; block-size: 1.9rem; border-radius: 50%; background: var(--primary); color: #fff; font-weight: 800; font-size: var(--text-s); }
.quote-steps__name { color: var(--heading-color); font-weight: 700; }
.quote-steps__text,
.quote-layout__help { color: var(--text-muted); font-size: var(--text-s); }

/* ---------- product cards: specs line, bundle swatches ---------- */
.card-specs { font-weight: 500; }
.demo-note { color: var(--text-muted); font-size: var(--text-s); }
