.pla-pantry {
	--pantry-ink: #17263a;
	--pantry-red: #7b2f2f;
	--pantry-gold: #b18445;
	--pantry-cream: #fbf7ee;
	--pantry-paper: #f2eadb;
	--pantry-line: #d7c8ae;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 22px 64px;
	color: var(--pantry-ink);
	font-family: Georgia, "Times New Roman", serif;
}

.pla-pantry *, .pla-pantry *::before, .pla-pantry *::after { box-sizing: border-box; }
.pla-pantry a { color: inherit; }
.pla-pantry__hero { padding: 70px 7% 62px; text-align: center; background: var(--pantry-ink); color: #fffaf0; border-bottom: 8px solid var(--pantry-gold); position: relative; overflow: hidden; }
.pla-pantry__hero::before, .pla-pantry__hero::after { content: ""; position: absolute; width: 180px; height: 180px; border: 1px solid rgba(255,255,255,.13); transform: rotate(45deg); }
.pla-pantry__hero::before { left: -110px; top: -80px; }
.pla-pantry__hero::after { right: -110px; bottom: -80px; }
.pla-pantry__hero h2 { margin: 8px auto 16px !important; max-width: 820px; color: #fffaf0 !important; font-size: clamp(2.5rem, 6vw, 5rem) !important; line-height: .98 !important; letter-spacing: -.035em; }
.pla-pantry__hero > p:not(.pla-pantry__eyebrow) { max-width: 760px; margin: 0 auto; color: #eee3d0; font-size: 1.18rem; line-height: 1.7; }
.pla-pantry__eyebrow { margin: 0 0 7px; color: var(--pantry-red); font: 700 .74rem/1.2 Arial, sans-serif; letter-spacing: .17em; text-transform: uppercase; }
.pla-pantry__hero .pla-pantry__eyebrow { color: #e0bd7e; }
.pla-pantry__hero-rule { display: flex; align-items: center; justify-content: center; gap: 13px; max-width: 330px; margin: 27px auto 0; color: #e0bd7e; }
.pla-pantry__hero-rule span { height: 1px; flex: 1; background: currentColor; opacity: .6; }
.pla-pantry__hero-rule i { font-style: normal; }

.pla-pantry__guide { display: grid; grid-template-columns: minmax(260px, .82fr) minmax(0, 1.8fr); gap: 32px; margin: 36px 0 42px; padding: 34px; background: var(--pantry-cream); border: 1px solid var(--pantry-line); box-shadow: 0 12px 32px rgba(41,31,20,.07); }
.pla-pantry__guide h3, .pla-pantry__shelf h3, .pla-pantry__preservation h3 { margin: 0 0 10px !important; color: var(--pantry-ink) !important; font-size: clamp(1.7rem, 3vw, 2.45rem) !important; line-height: 1.06 !important; }
.pla-pantry__guide p { line-height: 1.65; }
.pla-pantry__labels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.pla-pantry__label-card { padding: 20px 18px; background: #fff; border-top: 4px solid var(--pantry-gold); }
.pla-pantry__label-card span { display: block; margin-bottom: 9px; color: var(--pantry-red); font: 800 .72rem/1.25 Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.pla-pantry__label-card p { margin: 0; font-size: .93rem; }

.pla-pantry__shelf-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; margin-bottom: 54px; }
.pla-pantry__shelf-nav a { min-height: 145px; padding: 21px; background: var(--pantry-paper); border: 1px solid var(--pantry-line); text-decoration: none !important; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.pla-pantry__shelf-nav a:hover, .pla-pantry__shelf-nav a:focus { transform: translateY(-3px); border-color: var(--pantry-gold); box-shadow: 0 10px 24px rgba(41,31,20,.1); }
.pla-pantry__shelf-nav small { display: block; margin-bottom: 18px; color: var(--pantry-gold); font: 800 .65rem/1 Arial, sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.pla-pantry__shelf-nav strong { display: block; font-size: 1.28rem; line-height: 1.05; }
.pla-pantry__shelf-nav span { display: block; margin-top: 10px; color: #6c6254; font-size: .86rem; }

.pla-pantry__shelf { margin: 0 0 68px; scroll-margin-top: 120px; }
.pla-pantry__shelf-heading { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 25px; align-items: center; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 2px solid var(--pantry-line); }
.pla-pantry__shelf-heading > span { display: grid; place-items: center; width: 82px; height: 82px; color: #fff; background: var(--pantry-red); border: 5px double #f0dcb8; border-radius: 50%; font: 800 .67rem/1 Arial, sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.pla-pantry__shelf-heading p:last-child { max-width: 780px; margin: 0; color: #62594d; font-size: 1.02rem; line-height: 1.6; }
.pla-pantry__product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 19px; }
.pla-pantry__product { display: grid; grid-template-rows: auto 1fr; min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--pantry-line); box-shadow: 0 7px 20px rgba(41,31,20,.065); }
.pla-pantry__product.is-featured { border-top: 5px solid var(--pantry-gold); }
.pla-pantry__product-image { display: grid; place-items: center; min-height: 230px; padding: 22px; background: linear-gradient(150deg, #fffdf8, #f2ecdf); }
.pla-pantry__product-image img { display: block; width: 100%; height: 205px; object-fit: contain; margin: 0 !important; }
.pla-pantry__product-copy { display: flex; flex-direction: column; padding: 23px; border-top: 1px solid var(--pantry-line); }
.pla-pantry__product-label { align-self: flex-start; margin: 0 0 12px; padding: 6px 9px; color: #fff; background: var(--pantry-red); font: 800 .63rem/1 Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.pla-pantry__product h4 { margin: 0 0 8px !important; color: var(--pantry-ink) !important; font-size: 1.45rem !important; line-height: 1.08 !important; }
.pla-pantry__product h4 a { text-decoration: none !important; }
.pla-pantry__product-place { margin: 0 0 10px; color: var(--pantry-gold); font: 700 .75rem/1.35 Arial, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.pla-pantry__product-hook { margin: 0 0 20px; color: #5f574c; font-size: .98rem; line-height: 1.55; }
.pla-pantry__product-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 16px; border-top: 1px solid #e8dfd0; }
.pla-pantry__product-footer > span { color: var(--pantry-gold); font-weight: 700; }
.pla-pantry__product-footer a { color: var(--pantry-ink); font: 800 .7rem/1.2 Arial, sans-serif; letter-spacing: .06em; text-decoration: none !important; text-transform: uppercase; }

.pla-pantry__preservation { display: grid; grid-template-columns: .82fr 1.3fr; gap: 44px; align-items: center; margin-top: 10px; padding: 42px 46px; color: #fff9ed; background: var(--pantry-red); border-left: 10px solid var(--pantry-gold); }
.pla-pantry__preservation .pla-pantry__eyebrow { color: #eed3a5; }
.pla-pantry__preservation h3 { color: #fff9ed !important; }
.pla-pantry__preservation > p { margin: 0; font-size: 1.06rem; line-height: 1.72; }
.pla-pantry__state-link { margin: 26px 0 0; text-align: center; }
.pla-pantry__state-link a { display: inline-block; padding: 13px 19px; color: #fff !important; background: var(--pantry-ink); font: 800 .74rem/1.2 Arial, sans-serif; letter-spacing: .07em; text-decoration: none !important; text-transform: uppercase; }
.pla-pantry__empty { margin: 30px 0 46px; padding: 34px; text-align: center; background: var(--pantry-paper); border: 1px dashed var(--pantry-gold); }
.pla-pantry__empty h3 { margin-top: 0 !important; color: var(--pantry-ink) !important; }

@media (max-width: 900px) {
	.pla-pantry__guide { grid-template-columns: 1fr; }
	.pla-pantry__labels { grid-template-columns: 1fr; }
	.pla-pantry__shelf-nav { grid-template-columns: repeat(2, 1fr); }
	.pla-pantry__product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
	.pla-pantry { padding: 0 12px 42px; }
	.pla-pantry__hero { padding: 52px 20px 45px; }
	.pla-pantry__guide { padding: 24px 20px; }
	.pla-pantry__shelf-nav, .pla-pantry__product-grid { grid-template-columns: 1fr; }
	.pla-pantry__shelf-nav a { min-height: 0; }
	.pla-pantry__shelf-heading { grid-template-columns: 64px minmax(0, 1fr); gap: 16px; }
	.pla-pantry__shelf-heading > span { width: 62px; height: 62px; font-size: .55rem; }
	.pla-pantry__preservation { grid-template-columns: 1fr; gap: 14px; padding: 30px 24px; }
	.pla-pantry__product-image { min-height: 200px; }
}

/* Compact shelf browsing sits below the existing map and cultural guide. */
.pla-pantry-explore{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);align-items:center;gap:26px;margin:0 0 32px;padding:24px;border:1px solid var(--pantry-line);background:var(--pantry-cream)!important;color:var(--pantry-ink)!important}
.pla-pantry .pla-pantry-explore__art{display:block!important;width:100%!important;height:auto!important;max-height:235px;object-fit:contain!important;margin:0!important;aspect-ratio:8/5}
.pla-pantry-explore__content{min-width:0}.pla-pantry .pla-pantry-explore h3{font:normal 27px/1.2 Georgia,serif!important;color:var(--pantry-ink)!important;margin:0 0 9px!important}.pla-pantry-explore__intro{font:13px/1.6 Arial,sans-serif;margin:0 0 15px!important;color:var(--pantry-ink)!important}
.pla-pantry-explore__shelves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pla-pantry-explore__shelves a{display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:62px;padding:10px 12px;background:#fffdf8!important;color:var(--pantry-ink)!important;border:1px solid var(--pantry-line);text-decoration:none!important;overflow-wrap:anywhere}.pla-pantry-explore__shelves strong{font:700 12px/1.4 Arial,sans-serif}.pla-pantry-explore__shelves a>span{font:11px/1.4 Arial,sans-serif;margin-top:4px;color:#765b2c!important}.pla-pantry-explore__shelves a:hover{border-color:var(--pantry-gold);background:var(--pantry-paper)!important}.pla-pantry-explore__shelves a:focus-visible{outline:3px solid var(--pantry-gold)!important;outline-offset:3px}
.pla-pantry__shelf{scroll-margin-top:28px}.pla-pantry__shelf:target .pla-pantry__shelf-heading{outline:2px solid var(--pantry-gold);outline-offset:8px}
@media(max-width:700px){.pla-pantry-explore{grid-template-columns:1fr;gap:16px;padding:18px;margin-bottom:26px}.pla-pantry .pla-pantry-explore__art{max-width:240px!important;max-height:150px;margin:0 auto!important}.pla-pantry .pla-pantry-explore h3{font-size:24px!important}.pla-pantry-explore__shelves a{padding:10px;min-height:64px}}
@media(max-width:359px){.pla-pantry-explore__shelves{grid-template-columns:1fr}}
