/*
Theme Name: Nail Guide GeneratePress Child
Theme URI: https://nailguide.jp/
Description: Nail Guide production child theme for GeneratePress.
Author: Nail Guide
Template: generatepress
Version: 1.3.7
Text Domain: nailguide
*/

/* Shared production foundation for every custom Nail Guide template. */
body.ng-branded-site {
	margin: 0;
	background: var(--ng-surface, #fffcf8);
	color: var(--ng-charcoal, #272522);
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", "Noto Sans JP", sans-serif;
	font-size: 16px;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}

body.ng-branded-site *,
body.ng-branded-site *::before,
body.ng-branded-site *::after {
	box-sizing: border-box;
}

body.ng-branded-site img {
	display: block;
	max-width: 100%;
}

body.ng-branded-site a {
	color: inherit;
	text-decoration: none;
}

body.ng-branded-site button,
body.ng-branded-site input,
body.ng-branded-site select,
body.ng-branded-site textarea {
	font: inherit;
}

/* Archive/page hero shared by salons and standard custom pages. */
body.ng-branded-site .ng-page-hero {
	padding: calc(var(--ng-header-height, 64px) + clamp(62px, 8vw, 108px)) max(20px, calc((100vw - 1200px) / 2)) clamp(66px, 8vw, 104px);
	background: #f2eee9;
}

body.admin-bar.ng-branded-site .ng-page-hero {
	padding-top: calc(var(--ng-header-height, 64px) + 32px + clamp(62px, 8vw, 108px));
}

body.ng-branded-site .ng-page-hero__inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 48px;
}

body.ng-branded-site .ng-page-hero__copy {
	min-width: 0;
}

body.ng-branded-site .ng-page-hero__label {
	margin: 0 0 20px;
	color: #8a7d73;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .18em;
	line-height: 1.4;
}

body.ng-branded-site .ng-page-hero h1 {
	margin: 0;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: clamp(38px, 5vw, 68px);
	font-weight: 400;
	letter-spacing: -.035em;
	line-height: 1.25;
}

body.ng-branded-site .ng-page-hero__description {
	max-width: 620px;
	margin: 24px 0 0;
	color: #716b65;
	font-size: 14px;
	line-height: 1.9;
}

body.ng-branded-site .ng-page-hero__meta {
	margin: 0 0 4px;
	display: flex;
	align-items: baseline;
	gap: 10px;
	white-space: nowrap;
}

body.ng-branded-site .ng-page-hero__meta strong {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(38px, 4vw, 58px);
	font-weight: 300;
	line-height: 1;
}

body.ng-branded-site .ng-page-hero__meta span {
	color: #77716b;
	font-size: 10px;
	letter-spacing: .12em;
}

@media (max-width: 700px) {
	body.ng-branded-site .ng-page-hero {
		padding: calc(var(--ng-header-height, 64px) + 48px) 15px 58px;
	}

	body.admin-bar.ng-branded-site .ng-page-hero {
		padding-top: calc(var(--ng-header-height, 64px) + 46px + 48px);
	}

	body.ng-branded-site .ng-page-hero__inner {
		display: block;
	}

	body.ng-branded-site .ng-page-hero__label {
		margin-bottom: 14px;
		font-size: 9px;
	}

	body.ng-branded-site .ng-page-hero h1 {
		font-size: clamp(34px, 10vw, 46px);
	}

	body.ng-branded-site .ng-page-hero__description {
		margin-top: 17px;
		font-size: 12px;
		line-height: 1.8;
	}

	body.ng-branded-site .ng-page-hero__meta {
		margin-top: 29px;
		gap: 8px;
	}

	body.ng-branded-site .ng-page-hero__meta strong {
		font-size: 34px;
	}
}

/* v4.2.2 — Fixed, intentional line breaks for the Jobs hero on smartphones. */
.ng-jobs-hero-title__line {
	display: inline;
}

@media (max-width: 700px) {
	body.ng-template-page-jobs.ng-branded-site .ng-page-hero h1 {
		max-width: 100%;
		font-size: 29px;
		line-height: 1.42;
		letter-spacing: -0.045em;
	}

	body.ng-template-page-jobs.ng-branded-site .ng-jobs-hero-title__line {
		display: block;
		white-space: nowrap;
	}
}

@media (max-width: 360px) {
	body.ng-template-page-jobs.ng-branded-site .ng-page-hero h1 {
		font-size: 27px;
	}
}


/* 4.9.0 — Article archive aligned with the Nail Guide design system. */
body.ng-template-home-journal .ng-page-hero {
	background:
		radial-gradient(circle at 88% 20%, rgba(195,138,148,.12), transparent 30%),
		linear-gradient(145deg, #f7f2ed 0%, #fbf8f4 58%, #f1e8e4 100%);
}
body.ng-template-home-journal .ng-page-hero__inner { align-items:center; }
body.ng-template-home-journal .ng-page-hero__copy { max-width:780px; }
body.ng-template-home-journal .ng-page-hero h1 {
	font-size:clamp(42px,4.6vw,64px);
	line-height:1.34;
	letter-spacing:-.04em;
}
body.ng-template-home-journal .ng-articles-title__line { display:block; }
body.ng-template-home-journal .ng-journal-page {
	width:min(1200px,calc(100% - 40px));
	margin:0 auto;
	padding:clamp(72px,9vw,124px) 0 clamp(96px,11vw,150px);
}
body.ng-template-home-journal .ng-journal-feature,
body.ng-template-home-journal .ng-topic-nav,
body.ng-template-home-journal .ng-journal-list { margin:0 0 clamp(78px,9vw,124px); }
body.ng-template-home-journal .ng-component-heading { margin:0 0 30px; }
body.ng-template-home-journal .ng-component-heading .ng-component-label {
	margin:0 0 10px;
	color:var(--ng-accent,#bd8791);
	font-size:10px;
	font-weight:600;
	letter-spacing:.2em;
}
body.ng-template-home-journal .ng-component-heading h2 {
	margin:0;
	font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
	font-size:clamp(30px,3.2vw,46px);
	font-weight:400;
	line-height:1.35;
}
body.ng-template-home-journal .ng-journal-feature__card {
	display:grid;
	grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr);
	overflow:hidden;
	border:1px solid rgba(255,255,255,.68);
	border-radius:30px;
	background:rgba(255,255,255,.68);
	box-shadow:0 22px 60px rgba(67,50,43,.08);
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
}
body.ng-template-home-journal .ng-journal-feature__image { min-height:520px; overflow:hidden; }
body.ng-template-home-journal .ng-journal-feature__image img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
body.ng-template-home-journal .ng-journal-feature__card:hover img { transform:scale(1.025); }
body.ng-template-home-journal .ng-journal-feature__copy { padding:clamp(34px,5vw,70px); display:flex; flex-direction:column; justify-content:center; }
body.ng-template-home-journal .ng-journal-feature__copy h3 { margin:10px 0 22px; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:clamp(28px,3.2vw,45px); font-weight:400; line-height:1.45; }
body.ng-template-home-journal .ng-journal-category { color:var(--ng-accent,#bd8791); font-size:11px; letter-spacing:.08em; }
body.ng-template-home-journal .ng-journal-excerpt { color:#706862; font-size:14px; line-height:1.95; }
body.ng-template-home-journal time { margin-top:20px; color:#9a918a; font-size:11px; }
body.ng-template-home-journal .ng-text-link { margin-top:24px; align-self:flex-start; font-size:13px; font-weight:600; }
body.ng-template-home-journal .ng-topic-nav { padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; backdrop-filter:none!important; }
body.ng-template-home-journal .ng-topic-nav__links { display:flex; flex-wrap:wrap; gap:12px; }
body.ng-template-home-journal .ng-topic-nav__links a { padding:12px 20px; border:1px solid rgba(189,135,145,.34); border-radius:999px; background:rgba(255,255,255,.58); color:#5f5752; font-size:13px; transition:.25s ease; }
body.ng-template-home-journal .ng-topic-nav__links a:hover { transform:translateY(-2px); border-color:var(--ng-accent,#bd8791); color:var(--ng-accent,#bd8791); background:rgba(255,255,255,.86); }
body.ng-template-home-journal .ng-journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
body.ng-template-home-journal .ng-journal-card { overflow:hidden; border-radius:24px; }
body.ng-template-home-journal .ng-journal-card__image { aspect-ratio:4/3; overflow:hidden; }
body.ng-template-home-journal .ng-journal-card__image img { width:100%; height:100%; object-fit:cover; }
body.ng-template-home-journal .ng-journal-card__body h3 { margin:8px 0 14px; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:22px; font-weight:400; line-height:1.55; }
body.ng-template-home-journal .ng-journal-card__body time { display:block; margin-top:18px; color:#99908a; font-size:10px; }
@media(max-width:900px){
	body.ng-template-home-journal .ng-journal-feature__card { grid-template-columns:1fr; }
	body.ng-template-home-journal .ng-journal-feature__image { min-height:0; aspect-ratio:16/10; }
	body.ng-template-home-journal .ng-journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px){
	body.ng-template-home-journal .ng-page-hero { padding-bottom:64px; }
	body.ng-template-home-journal .ng-page-hero h1 { font-size:34px; line-height:1.5; letter-spacing:-.045em; }
	body.ng-template-home-journal .ng-page-hero__description { max-width:31em; }
	body.ng-template-home-journal .ng-journal-page { width:min(100% - 30px,560px); padding:66px 0 108px; }
	body.ng-template-home-journal .ng-journal-feature,
	body.ng-template-home-journal .ng-topic-nav,
	body.ng-template-home-journal .ng-journal-list { margin-bottom:78px; }
	body.ng-template-home-journal .ng-component-heading { margin-bottom:22px; }
	body.ng-template-home-journal .ng-component-heading h2 { font-size:29px; }
	body.ng-template-home-journal .ng-journal-feature__card { border-radius:24px; }
	body.ng-template-home-journal .ng-journal-feature__copy { padding:27px 24px 31px; }
	body.ng-template-home-journal .ng-journal-feature__copy h3 { font-size:27px; }
	body.ng-template-home-journal .ng-topic-nav__links { gap:9px; }
	body.ng-template-home-journal .ng-topic-nav__links a { padding:10px 15px; font-size:11px; }
	body.ng-template-home-journal .ng-journal-grid { grid-template-columns:1fr; gap:24px; }
	body.ng-template-home-journal .ng-journal-card__body h3 { font-size:21px; }
}


/* 4.9.9: Contact and listing pages */
.ng-info-page{padding:72px 20px 120px;background:#f8f3ef}
.ng-info-page__inner{width:min(100%,1120px);margin:0 auto}
.ng-info-page__intro{max-width:760px;margin-bottom:48px}
.ng-info-page__intro .ng-eyebrow{margin:0 0 12px;font-size:11px;letter-spacing:.18em;color:#a8787d}
.ng-info-page__intro h1,.ng-info-page__intro h2{margin:0 0 18px;font-family:Georgia,"Yu Mincho",serif;font-weight:400;font-size:clamp(34px,6vw,58px);line-height:1.25}
.ng-info-page__intro p{margin:0;color:#655f5b;line-height:2}
.ng-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:32px;align-items:start}
.ng-contact-card,.ng-listing-card,.ng-listing-flow,.ng-listing-cta{background:#fff;border:1px solid rgba(80,65,60,.09);border-radius:24px;box-shadow:0 16px 42px rgba(79,59,52,.06)}
.ng-contact-card{padding:36px}
.ng-contact-form{display:grid;gap:22px}
.ng-contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ng-contact-form label{display:grid;gap:8px;font-size:13px;color:#443e3a}
.ng-contact-form label span{display:flex;gap:8px;align-items:center}
.ng-contact-form label b{font-size:10px;font-weight:500;color:#fff;background:#bd858c;border-radius:999px;padding:2px 7px}
.ng-contact-form input,.ng-contact-form select,.ng-contact-form textarea{width:100%;border:1px solid #e7dfda;border-radius:14px;background:#fffdfb;padding:14px 15px;font:inherit;color:#302c29;outline:none}
.ng-contact-form textarea{min-height:190px;resize:vertical}
.ng-contact-form input:focus,.ng-contact-form select:focus,.ng-contact-form textarea:focus{border-color:#c58d94;box-shadow:0 0 0 3px rgba(197,141,148,.12)}
.ng-contact-form__privacy{font-size:12px!important;line-height:1.8;color:#716a65!important}
.ng-contact-form__privacy input{width:auto;margin-right:8px}
.ng-contact-form__submit{min-height:54px;border:0;border-radius:999px;background:#bd858c;color:#fff;font-weight:600;letter-spacing:.05em;cursor:pointer}
.ng-contact-form__submit:hover{filter:brightness(.96)}
.ng-contact-aside{display:grid;gap:18px}
.ng-contact-aside__box{padding:26px;border-top:1px solid #ddd2cc}
.ng-contact-aside__box:first-child{border-top:0}
.ng-contact-aside__box small{display:block;margin-bottom:8px;font-size:10px;letter-spacing:.16em;color:#a8787d}
.ng-contact-aside__box h3{margin:0 0 8px;font-size:19px;font-weight:500}
.ng-contact-aside__box p{margin:0;color:#6b645f;font-size:13px;line-height:1.9}
.ng-form-notice{margin:0 0 28px;padding:16px 18px;border-radius:14px;background:#eef7f0;color:#315c3a}
.ng-form-notice--error{background:#fff0f0;color:#8b3636}
.ng-listing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:48px}
.ng-listing-card{padding:34px}
.ng-listing-card small{font-size:10px;letter-spacing:.16em;color:#a8787d}
.ng-listing-card h2{margin:12px 0 14px;font-family:Georgia,"Yu Mincho",serif;font-weight:400;font-size:30px}
.ng-listing-card p{color:#655f5b;line-height:1.9}
.ng-listing-card ul{margin:22px 0 28px;padding:0;list-style:none;border-top:1px solid #eee5e0}
.ng-listing-card li{padding:12px 0;border-bottom:1px solid #eee5e0;font-size:14px}
.ng-listing-card a,.ng-listing-cta a{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;background:#bd858c;color:#fff}
.ng-listing-flow{padding:40px;margin-bottom:48px}
.ng-listing-flow h2{margin:0 0 26px;font-family:Georgia,"Yu Mincho",serif;font-weight:400;font-size:32px}
.ng-listing-flow ol{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0;padding:0;list-style:none;counter-reset:flow}
.ng-listing-flow li{counter-increment:flow;padding:20px 0;border-top:1px solid #d9cec8}
.ng-listing-flow li:before{content:"0" counter(flow);display:block;margin-bottom:12px;color:#bd858c;font-size:11px;letter-spacing:.14em}
.ng-listing-flow strong{display:block;margin-bottom:8px;font-size:16px}
.ng-listing-flow span{font-size:12px;line-height:1.8;color:#706863}
.ng-listing-cta{padding:46px;text-align:center}
.ng-listing-cta h2{margin:0 0 12px;font-family:Georgia,"Yu Mincho",serif;font-weight:400;font-size:34px}
.ng-listing-cta p{margin:0 0 24px;color:#655f5b}
@media(max-width:760px){
 .ng-info-page{padding:52px 20px 88px}
 .ng-contact-layout,.ng-listing-grid{grid-template-columns:1fr}
 .ng-contact-card{padding:24px 20px}
 .ng-contact-form__row{grid-template-columns:1fr}
 .ng-contact-aside{padding:4px 0}
 .ng-listing-card{padding:28px 22px}
 .ng-listing-flow{padding:30px 22px}
 .ng-listing-flow ol{grid-template-columns:1fr 1fr}
 .ng-listing-cta{padding:36px 22px}
}
@media(max-width:420px){.ng-listing-flow ol{grid-template-columns:1fr}}


/* 5.0.1 — Journal archive card cleanup and consistent mobile rhythm. */
body.ng-template-home-journal .ng-journal-feature__card--no-image {
	grid-template-columns: 1fr;
}
body.ng-template-home-journal .ng-journal-feature__card--no-image .ng-journal-feature__copy {
	max-width: 860px;
	min-height: 0;
	margin: 0 auto;
}
body.ng-template-home-journal .ng-journal-grid {
	align-items: stretch;
}
body.ng-template-home-journal .ng-journal-card {
	height: 100%;
	background: rgba(255,255,255,.74);
	box-shadow: 0 18px 48px rgba(67,50,43,.07);
}
body.ng-template-home-journal .ng-journal-card > a {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding-bottom: 0;
}
body.ng-template-home-journal .ng-journal-card__image {
	flex: 0 0 auto;
	margin-bottom: 0;
	background: none !important;
}
body.ng-template-home-journal .ng-journal-card__image::before,
body.ng-template-home-journal .ng-journal-card__image::after {
	content: none !important;
	display: none !important;
}
body.ng-template-home-journal .ng-journal-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 26px 25px 28px;
}
body.ng-template-home-journal .ng-journal-card__body h3 {
	display: -webkit-box;
	overflow: hidden;
	min-height: 0;
	margin: 9px 0 14px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}
body.ng-template-home-journal .ng-journal-excerpt {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}
body.ng-template-home-journal .ng-journal-card__body time {
	margin-top: auto;
	padding-top: 20px;
}
body.ng-template-home-journal .ng-journal-card:not(:has(.ng-journal-card__image)) .ng-journal-card__body {
	padding-top: 30px;
}

@media (max-width: 700px) {
	body.ng-template-home-journal .ng-journal-feature__card--no-image .ng-journal-feature__copy {
		padding-top: 30px;
		padding-bottom: 34px;
	}
	body.ng-template-home-journal .ng-journal-card__image {
		aspect-ratio: 16 / 10;
	}
	body.ng-template-home-journal .ng-journal-card__body {
		padding: 24px 22px 26px;
	}
	body.ng-template-home-journal .ng-journal-card__body h3 {
		font-size: 20px;
		line-height: 1.55;
	}
	body.ng-template-home-journal .ng-journal-excerpt {
		font-size: 13px;
		line-height: 1.85;
	}
}

/* 1.2.6 — Journal archive final grid cleanup (desktop + mobile).
 * Keep the editorial archive independent from the decorative home-page journal offsets.
 */
body.ng-template-home-journal .ng-journal-list .ng-journal-grid {
	grid-auto-rows: 1fr;
	align-items: stretch;
}
body.ng-template-home-journal .ng-journal-list .ng-journal-card,
body.ng-template-home-journal .ng-journal-list .ng-journal-card:nth-child(2) {
	margin-top: 0 !important;
	padding-top: 0 !important;
	align-self: stretch;
}
body.ng-template-home-journal .ng-journal-list .ng-journal-card > a {
	min-height: 100%;
}
body.ng-template-home-journal .ng-journal-list .ng-journal-card__body {
	min-height: 340px;
	padding: 28px 28px 30px !important;
}
body.ng-template-home-journal .ng-journal-list .ng-journal-card__body h3 {
	min-height: calc(1.55em * 3);
	font-size: 21px;
	line-height: 1.55;
	letter-spacing: -.025em;
}
body.ng-template-home-journal .ng-journal-list .ng-journal-excerpt {
	-webkit-line-clamp: 2;
	line-clamp: 2;
	min-height: calc(1.9em * 2);
	font-size: 13px;
	line-height: 1.9;
}
body.ng-template-home-journal .ng-journal-list .ng-journal-category {
	margin: 0 0 4px;
	font-size: 10px;
	letter-spacing: .1em;
}
body.ng-template-home-journal .ng-journal-list .ng-journal-card__body time {
	margin-top: auto;
	padding-top: 24px;
}
body.ng-template-home-journal .ng-journal-list .ng-journal-card__image {
	aspect-ratio: 16 / 10;
}
body.ng-template-home-journal .ng-topic-nav__links {
	gap: 10px 12px;
}
body.ng-template-home-journal .ng-topic-nav__links a {
	padding: 11px 19px;
	line-height: 1.2;
}

/* Recommended story: keep a calm centered card when no featured image exists. */
body.ng-template-home-journal .ng-journal-feature__card--no-image {
	max-width: 920px;
	margin-inline: auto;
}
body.ng-template-home-journal .ng-journal-feature__card--no-image .ng-journal-feature__copy {
	width: 100%;
	max-width: none;
	padding: clamp(42px, 5vw, 66px);
	text-align: left;
}
body.ng-template-home-journal .ng-journal-feature__card--no-image .ng-text-link {
	margin-top: 22px;
}

@media (min-width: 901px) {
	body.ng-template-home-journal .ng-journal-page {
		width: min(1220px, calc(100% - 72px));
	}
	body.ng-template-home-journal .ng-journal-list .ng-journal-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 28px;
	}
}

@media (min-width: 701px) and (max-width: 900px) {
	body.ng-template-home-journal .ng-journal-list .ng-journal-card__body {
		min-height: 320px;
	}
}

@media (max-width: 700px) {
	body.ng-template-home-journal .ng-journal-list .ng-journal-card__body {
		min-height: 0;
		padding: 24px 22px 26px !important;
	}
	body.ng-template-home-journal .ng-journal-list .ng-journal-card__body h3 {
		min-height: 0;
		font-size: 20px;
		-webkit-line-clamp: 3;
		line-clamp: 3;
	}
	body.ng-template-home-journal .ng-journal-list .ng-journal-excerpt {
		min-height: 0;
		-webkit-line-clamp: 2;
		line-clamp: 2;
	}
	body.ng-template-home-journal .ng-topic-nav__links {
		gap: 9px;
	}
	body.ng-template-home-journal .ng-topic-nav__links a {
		padding: 10px 14px;
	}
}

/* 1.2.7 — Editorial thumbnail ratio sync.
 * Nail Guide article thumbnails include typography inside the image, so never crop them.
 * The archive, mobile cards and PICK UP image all use the same 1200×630 canvas ratio.
 */
body.ng-template-home-journal .ng-journal-card__image,
body.ng-template-home-journal .ng-journal-list .ng-journal-card__image {
	aspect-ratio: 40 / 21 !important; /* 1200 / 630 */
	width: 100%;
	height: auto !important;
	overflow: hidden;
	background: #fbf7f4 !important;
}
body.ng-template-home-journal .ng-journal-card__image img,
body.ng-template-home-journal .ng-journal-card__image .wp-post-image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100%;
	margin: 0;
	object-fit: contain !important;
	object-position: center center !important;
}
body.ng-template-home-journal .ng-journal-feature__image {
	min-height: 0 !important;
	aspect-ratio: 40 / 21 !important;
	background: #fbf7f4;
}
body.ng-template-home-journal .ng-journal-feature__image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center center !important;
}
body.ng-template-home-journal .ng-journal-feature__card:hover .ng-journal-feature__image img {
	transform: none;
}

@media (max-width: 700px) {
	body.ng-template-home-journal .ng-journal-card__image,
	body.ng-template-home-journal .ng-journal-list .ng-journal-card__image,
	body.ng-template-home-journal .ng-journal-feature__image {
		aspect-ratio: 40 / 21 !important;
	}
}

/* 1.2.8 — Hard-lock editorial thumbnail frames.
 * WordPress keeps each uploaded image's intrinsic width/height attributes.
 * Positioning the image inside a ratio-locked frame prevents those intrinsic
 * dimensions from changing card image height while preserving all text artwork.
 */
body.ng-template-home-journal .ng-journal-card__image,
body.ng-template-home-journal .ng-journal-list .ng-journal-card__image,
body.ng-template-home-journal .ng-journal-feature__image {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	aspect-ratio: 1200 / 630 !important;
	overflow: hidden !important;
	background: #fbf7f4 !important;
}

body.ng-template-home-journal .ng-journal-card__image img,
body.ng-template-home-journal .ng-journal-card__image .wp-post-image,
body.ng-template-home-journal .ng-journal-feature__image img,
body.ng-template-home-journal .ng-journal-feature__image .wp-post-image {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: 50% 50% !important;
}

/* Keep every archive card image slot identical even inside stretched grid rows. */
body.ng-template-home-journal .ng-journal-list .ng-journal-card__image {
	flex: 0 0 auto !important;
}

@media (max-width: 700px) {
	body.ng-template-home-journal .ng-journal-card__image,
	body.ng-template-home-journal .ng-journal-list .ng-journal-card__image,
	body.ng-template-home-journal .ng-journal-feature__image {
		aspect-ratio: 1200 / 630 !important;
	}
}

/* 1.2.9 — Show the complete editorial artwork without clipping its built-in frame.
 * The generated thumbnails already contain their own border and typography, so the
 * archive should respect the image's intrinsic aspect ratio instead of forcing it
 * into another ratio box. This also removes the tiny bottom crop caused by the
 * ratio-locked/absolutely-positioned image treatment from 1.2.8.
 */
body.ng-template-home-journal .ng-journal-card__image,
body.ng-template-home-journal .ng-journal-list .ng-journal-card__image,
body.ng-template-home-journal .ng-journal-feature__image {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	aspect-ratio: auto !important;
	overflow: hidden !important;
	line-height: 0 !important;
	background: #fbf7f4 !important;
	border-radius: 24px 24px 0 0;
}

body.ng-template-home-journal .ng-journal-card__image img,
body.ng-template-home-journal .ng-journal-card__image .wp-post-image,
body.ng-template-home-journal .ng-journal-feature__image img,
body.ng-template-home-journal .ng-journal-feature__image .wp-post-image {
	position: static !important;
	inset: auto !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: initial !important;
	object-position: initial !important;
}

body.ng-template-home-journal .ng-journal-feature__card:hover .ng-journal-feature__image img {
	transform: none !important;
}

@media (max-width: 700px) {
	body.ng-template-home-journal .ng-journal-card__image,
	body.ng-template-home-journal .ng-journal-list .ng-journal-card__image,
	body.ng-template-home-journal .ng-journal-feature__image {
		aspect-ratio: auto !important;
	}
}

/* 1.3.0 — Journal media final cleanup.
 * Editorial thumbnails now carry their own composition. The theme only supplies
 * the card's outer rounded corners; no forced crop, ratio box, border or extra
 * image frame is added here. This keeps the new frameless Nail Guide artwork
 * intact on desktop, mobile, PICK UP and RELATED STORIES cards.
 */
body.ng-template-home-journal .ng-journal-card__image,
body.ng-template-home-journal .ng-journal-list .ng-journal-card__image,
body.ng-template-home-journal .ng-journal-feature__image,
.ng-journal-related .ng-journal-card__image {
	position: static !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	aspect-ratio: auto !important;
	overflow: hidden !important;
	line-height: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

body.ng-template-home-journal .ng-journal-card__image img,
body.ng-template-home-journal .ng-journal-card__image .wp-post-image,
body.ng-template-home-journal .ng-journal-feature__image img,
body.ng-template-home-journal .ng-journal-feature__image .wp-post-image,
.ng-journal-related .ng-journal-card__image img,
.ng-journal-related .ng-journal-card__image .wp-post-image {
	position: static !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: initial !important;
	object-position: initial !important;
	border: 0 !important;
	box-shadow: none !important;
}


/* 5.0.2 — Functional Journal pagination. */
body.ng-template-home-journal .ng-pagination { margin: 4px 0 0; }
body.ng-template-home-journal .ng-pagination .nav-links { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; }
body.ng-template-home-journal .ng-pagination .page-numbers { min-width:42px; min-height:42px; padding:0 13px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(189,135,145,.32); border-radius:999px; background:rgba(255,255,255,.72); color:#5f5752; font-size:12px; line-height:1; text-decoration:none; transition:.2s ease; }
body.ng-template-home-journal .ng-pagination a.page-numbers:hover { border-color:var(--ng-accent,#bd8791); color:var(--ng-accent,#bd8791); background:#fff; transform:translateY(-1px); }
body.ng-template-home-journal .ng-pagination .page-numbers.current { border-color:var(--ng-accent,#bd8791); background:var(--ng-accent,#bd8791); color:#fff; }
body.ng-template-home-journal .ng-pagination .prev,
body.ng-template-home-journal .ng-pagination .next { padding:0 17px; }
@media (max-width: 600px) {
  body.ng-template-home-journal .ng-pagination { margin-top:0; }
  body.ng-template-home-journal .ng-pagination .nav-links { gap:6px; }
  body.ng-template-home-journal .ng-pagination .page-numbers { min-width:38px; min-height:38px; padding:0 11px; font-size:11px; }
}

/* 5.0.3 — PICK UP desktop balance.
 * Give the editorial thumbnail room to breathe and prevent the headline column
 * from becoming a narrow vertical strip. Mobile/tablet behavior is unchanged.
 */
@media (min-width: 901px) {
  body.ng-template-home-journal .ng-journal-feature__card {
    grid-template-columns: minmax(0, 1.65fr) minmax(330px, .9fr);
    max-width: 1120px;
    margin-inline: auto;
    align-items: center;
  }
  body.ng-template-home-journal .ng-journal-feature__image {
    align-self: center;
  }
  body.ng-template-home-journal .ng-journal-feature__copy {
    min-width: 0;
    padding: 34px 38px 36px;
  }
  body.ng-template-home-journal .ng-journal-feature__copy h3 {
    margin: 9px 0 16px;
    font-size: clamp(25px, 2.15vw, 32px);
    line-height: 1.55;
    letter-spacing: -.025em;
  }
  body.ng-template-home-journal .ng-journal-feature__copy .ng-journal-excerpt {
    font-size: 13px;
    line-height: 1.85;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }
  body.ng-template-home-journal .ng-journal-feature__copy time {
    margin-top: 16px;
  }
  body.ng-template-home-journal .ng-journal-feature__copy .ng-text-link {
    margin-top: 18px;
  }
}

/* 5.0.4 — PICK UP desktop final scale.
 * Enlarge only the desktop recommendation card while preserving its current
 * image/copy balance. Tablet/mobile and the rest of the journal remain unchanged.
 */
@media (min-width: 901px) {
  body.ng-template-home-journal .ng-journal-feature__card {
    width: min(1280px, calc(100vw - 64px));
    max-width: none;
    margin-left: 50%;
    margin-right: 0;
    transform: translateX(-50%);
    grid-template-columns: minmax(0, 1.65fr) minmax(330px, .9fr);
  }
}
