/* =========================================================================
 * HMS — blog posts and blog lists (v1.10.34).
 * ========================================================================= */
body.hms.hms-blog-page .site-content, body.hms.hms-blog-page #content { background: transparent; }

/* ---- Post ---------------------------------------------------------------- */
.hms-post { color: #13204A; }
.hms-post__head { padding: calc(var(--hms-head, 96px) + clamp(16px, 3vw, 36px)) 0 0; background: linear-gradient(180deg, var(--c1, #FFF1D9) 0%, rgba(255, 241, 217, 0) 100%); }
.hms-post__narrow { width: 100%; max-width: 760px; margin: 0 auto; padding-left: var(--hms-gutter, 16px); padding-right: var(--hms-gutter, 16px); box-sizing: border-box; }
.hms-post__crumbs { display: flex; flex-wrap: wrap; gap: 6px 8px; font-size: 13px; color: #5A5670; margin-bottom: 18px; }
.hms .hms-post__crumbs a { color: #5A5670; text-decoration: underline; text-underline-offset: 3px; }
.hms .hms-post__cat { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 999px; background: #13204A; color: #FFF8EE; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
html body.hms .hms-post__title { margin: 14px 0 0; font: 900 var(--hms-fs-h1)/1.08 var(--hms-serif); letter-spacing: -.015em; color: #13204A; text-wrap: balance; }
.hms-post__dek { margin: 14px 0 0; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.55; color: #3E3A55; }
.hms-post__meta { display: flex; flex-wrap: wrap; gap: 6px 10px; margin: 16px 0 0; font-size: 14px; font-weight: 700; color: #5A5670; }
.hms-post__hero { max-width: 1040px; margin: clamp(24px, 3vw, 36px) auto 0; padding: 0 var(--hms-gutter, 16px); box-sizing: border-box; }
.hms-post__hero img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: cover; border-radius: 24px; box-shadow: 0 6px 18px rgba(19, 32, 74, .1); }

/* Reading column */
.hms-post__content { padding-top: clamp(28px, 4vw, 44px); padding-bottom: clamp(32px, 5vw, 56px); font-size: clamp(16.5px, 1.2vw, 18px); line-height: 1.78; color: #2A2F45; -webkit-user-select: text; user-select: text; }
.hms-post__content > * { margin-top: 0; margin-bottom: 1.1em; }
body.hms .hms-post__content h2 { margin: 1.9em 0 .6em; font: 900 clamp(24px, 2.4vw, 32px)/1.15 var(--hms-serif); color: #13204A; letter-spacing: -.01em; text-wrap: balance; }
body.hms .hms-post__content h3 { margin: 1.6em 0 .5em; font: 800 clamp(19px, 1.7vw, 23px)/1.25 var(--hms-serif); color: #13204A; }
body.hms .hms-post__content h4 { margin: 1.4em 0 .4em; font: 800 17px/1.3 var(--hms-sans); color: #8E0E4B; letter-spacing: .02em; }
.hms-post__content ul, .hms-post__content ol { padding-left: 1.4em; }
.hms-post__content li { margin: 0 0 .45em; padding-left: .2em; }
.hms-post__content ul li::marker { color: var(--c3, #F28C0F); font-size: 1.15em; }
.hms-post__content ol li::marker { color: #8E0E4B; font-weight: 800; }
.hms .hms-post__content a { color: #8E0E4B; font-weight: 700; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.hms-post__content strong { color: #13204A; }
.hms-post__content blockquote { margin: 1.6em 0; padding: 18px 22px; border-radius: 18px; background: #FFF1D9; font-family: var(--hms-serif); font-size: 1.12em; line-height: 1.5; color: #13204A; }
.hms-post__content blockquote p { margin: 0; }
.hms-post__content img { max-width: 100%; height: auto; border-radius: 18px; }
.hms-post__content figure { margin: 1.6em 0; }
.hms-post__content figcaption { margin-top: 8px; font-size: 14px; color: #5A5670; text-align: center; }
.hms-post__content hr { border: 0; height: 1px; background: #EBE1D2; margin: 2em 0; }

/* Tables: neat on desktop, scroll sideways on phones */
.hms-post__scroll, .hms-post__content .wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1.4em 0; border-radius: 16px; box-shadow: 0 0 0 1px #EBE1D2; background: #FFFFFF; }
.hms-post__content .wp-block-table .hms-post__scroll { margin: 0; box-shadow: none; border-radius: 0; }
.hms-post__content table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 15px; line-height: 1.5; margin: 0; }
.hms-post__content th { text-align: left; padding: 12px 14px; background: #13204A; color: #FFF8EE; font-weight: 800; white-space: nowrap; }
.hms-post__content td { padding: 12px 14px; border-top: 1px solid #F0E8DA; vertical-align: top; }
.hms-post__content tr:nth-child(even) td { background: #FBF5EC; }
.hms-post__content td:first-child { font-weight: 700; color: #13204A; }

.hms-post__tags { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: clamp(32px, 4vw, 48px); }
.hms .hms-post__tag { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 999px; background: #FFFFFF; box-shadow: inset 0 0 0 1.5px #EBDCC3; color: #13204A; font-size: 14px; font-weight: 700; text-decoration: none; }

/* Shop the occasion + More guides */
.hms-post__h2 { margin: 0; font-weight: 400; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 12px; }
.hms-post__h2 .hms-fr { font-weight: 900; color: #13204A; }
.hms-post__h2 .hms-sc { color: var(--accent, #C0186A); }
body.hms .hms-post__h2 .hms-fr { font-size: var(--hms-fs-h2); line-height: 1; }
body.hms .hms-post__h2 .hms-sc { font-size: var(--hms-fs-h2-sc); line-height: 1; }
.hms-post__shop { padding: clamp(40px, 5vw, 64px) 0; background: radial-gradient(600px 420px at 90% 0%, rgba(255, 201, 74, .3), rgba(255, 201, 74, 0) 70%), linear-gradient(160deg, var(--c1, #FFF1D2) 0%, var(--c2, #FFD58A) 100%); }
.hms-post__shophead { display: flex; justify-content: space-between; align-items: flex-end; gap: 14px 28px; flex-wrap: wrap; margin-bottom: clamp(18px, 2.4vw, 28px); }
.hms .hms-post__shopall { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 20px; border-radius: 999px; background: #13204A; color: #FFF8EE; font-weight: 800; font-size: 15px; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.hms-post__more { padding: clamp(40px, 5vw, 64px) 0; }
.hms-post__more .hms-post__h2 { margin-bottom: clamp(18px, 2.4vw, 28px); }

/* ---- Post cards (lists, More guides) ------------------------------------ */
.hms-bcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 24px); margin: 0; padding: 0; list-style: none; }
.hms-bcards > li { min-width: 0; }
.hms .hms-bcard { height: 100%; box-sizing: border-box; display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; background: #FFFFFF; color: #13204A; text-decoration: none; box-shadow: 0 2px 8px rgba(19, 32, 74, .07); transition: transform .2s ease, box-shadow .2s ease; }
.hms-bcard__img { display: block; aspect-ratio: 16 / 10; background: linear-gradient(160deg, #FFE3A0 0%, #F4B942 100%); }
.hms-bcard__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hms-bcard__ph { display: grid; place-items: center; width: 100%; height: 100%; }
.hms-bcard__ph svg { width: 34%; height: auto; }
.hms-bcard__body { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 18px; flex: 1; }
.hms-bcard__cat { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #C0186A; }
.hms-bcard__title { font: 800 clamp(18px, 1.5vw, 21px)/1.25 var(--hms-serif); }
.hms-bcard__meta { margin-top: auto; padding-top: 6px; font-size: 13px; font-weight: 700; color: #5A5670; }

/* ---- Blog list --------------------------------------------------------- */
.hms-blist__head { padding: calc(var(--hms-head, 96px) + clamp(20px, 3vw, 40px)) 0 clamp(24px, 3vw, 36px); background: radial-gradient(700px 480px at 88% 20%, rgba(255, 201, 74, .35), rgba(255, 201, 74, 0) 70%), linear-gradient(160deg, #FFE3EC 0%, #FFF1E0 100%); }
.hms-blist__eb { color: #C0186A; margin-bottom: 10px; }
html body.hms .hms-blist__title { margin: 0; font: 900 var(--hms-fs-h1)/1.05 var(--hms-serif); color: #13204A; text-wrap: balance; }
.hms-blist__desc { margin: 12px 0 0; max-width: 60ch; font-size: 17px; line-height: 1.6; color: #3E3A55; }
.hms-blist__cats { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.hms .hms-blist__cat { display: inline-flex; align-items: center; height: 38px; padding: 0 16px; border-radius: 999px; background: #FFFFFF; box-shadow: inset 0 0 0 1.5px #EBDCC3; color: #13204A; font-weight: 700; font-size: 14px; text-decoration: none; }
.hms .hms-blist__cat[aria-current="page"] { background: #13204A; color: #FFF8EE; box-shadow: none; }
.hms-blist__body { padding: clamp(28px, 4vw, 48px) 0 clamp(48px, 6vw, 80px); }
.hms-blist__pages { margin-top: 28px; }
.hms-blist__pages .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.hms .hms-blist__pages .page-numbers { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: 999px; background: #FFFFFF; color: #13204A; font-weight: 800; text-decoration: none; box-shadow: inset 0 0 0 1.5px #EBDCC3; box-sizing: border-box; }
.hms .hms-blist__pages .page-numbers.current { background: #13204A; color: #FFF8EE; box-shadow: none; }
.hms-blist__empty { font-size: 17px; color: #5A5670; }

@media (hover: hover) and (pointer: fine) {
	.hms a.hms-bcard:hover { color: #13204A; transform: translateY(-2px); box-shadow: 0 8px 18px rgba(19, 32, 74, .12); }
	.hms a.hms-post__shopall:hover { color: #FFF8EE; transform: translateY(-2px); box-shadow: 0 6px 14px rgba(19, 32, 74, .16); }
	.hms .hms-post__content a:hover { color: #8E0E4B; }
}
@media (max-width: 1023px) { .hms-bcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) {
	.hms-bcards { grid-template-columns: minmax(0, 1fr); }
	.hms-post__hero img { border-radius: 18px; }
	.hms-post__content table { font-size: 14px; }
}

/* ---- v1.10.35: "Guides" on occasion and festival pages ------------------ */
.hms-guides { padding: clamp(40px, 5vw, 64px) 0; background: radial-gradient(600px 420px at 0% 0%, rgba(15, 154, 140, .12), rgba(15, 154, 140, 0) 70%), linear-gradient(180deg, #E8F5F1 0%, #DCEFE8 100%); }
.hms-guides__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 14px 28px; flex-wrap: wrap; margin-bottom: clamp(18px, 2.4vw, 28px); }
.hms-guides__eb { color: #0F766E; margin-bottom: 8px; }
.hms .hms-guides__more { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 20px; border-radius: 999px; background: #13204A; color: #FFF8EE; font-weight: 800; font-size: 15px; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.hms-guides__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hms-guides__list.is-1 { grid-template-columns: minmax(0, 360px); }
.hms-guides__list.is-2 { grid-template-columns: repeat(2, minmax(0, 360px)); }
.hms-guides__list.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (hover: hover) and (pointer: fine) { .hms a.hms-guides__more:hover { color: #FFF8EE; transform: translateY(-2px); box-shadow: 0 6px 14px rgba(19, 32, 74, .16); } }
@media (max-width: 1023px) { .hms-guides__list, .hms-guides__list.is-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .hms-guides__list, .hms-guides__list.is-1, .hms-guides__list.is-2, .hms-guides__list.is-3 { grid-template-columns: minmax(0, 1fr); } }
/* v1.10.35: every card photo is cropped to the same shape. */
.hms-bcard__img { position: relative; overflow: hidden; flex: none; }
.hms-bcard__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* v1.10.36: admin-only notes about category links. */
.hms-linkcheck { margin: 0 0 24px; padding: 14px 18px; border-radius: 14px; border: 1.5px dashed #C0186A; background: #FFF4F8; color: #8E0E4B; font-size: 14px; line-height: 1.5; }
.hms-linkcheck ul { margin: 8px 0 0; padding-left: 18px; }
.hms-linkcheck code { font-size: 12px; word-break: break-all; }
.hms-linknote { font-size: 12px; color: #C0186A; font-weight: 700; }
