/*
Theme Name: Chic Format
Theme URI: https://chicformat.com
Author: ChicFormat
Description: A quiet, editorial block theme for interior design writing — generous whitespace, refined serif typography, and built-in "Shop the Look" product patterns for affiliate links.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.12
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: chicformat
*/

/* ---------- Base refinements ---------- */
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
::selection { background: var(--wp--preset--color--sand); color: var(--wp--preset--color--ink); }
img { height: auto; }
a { text-underline-offset: .22em; text-decoration-thickness: 1px; transition: color .2s ease, opacity .2s ease, background-color .2s ease, border-color .2s ease; }

/* Eyebrow / kicker text */
.cf-eyebrow,
.cf-eyebrow a,
.wp-block-post-terms.cf-eyebrow a {
	font-family: var(--wp--preset--font-family--sans);
	font-size: .72rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--wp--preset--color--bronze);
	font-weight: 500;
}
.cf-eyebrow a:hover { color: var(--wp--preset--color--ink); }

/* Thin rule */
.cf-rule { border: 0; border-top: 1px solid var(--wp--preset--color--line); margin: 0; }

/* ---------- Header ---------- */
.cf-header { border-bottom: 1px solid var(--wp--preset--color--line); }
.cf-header .wp-block-site-title a { text-decoration: none; }
.cf-header .wp-block-navigation a { text-decoration: none; }
.cf-header .wp-block-navigation a:hover { color: var(--wp--preset--color--bronze); }
.cf-header .wp-block-navigation__responsive-container.is-menu-open { padding: 2rem; }
.cf-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.4rem; }

/* ---------- Post cards ---------- */
.cf-card .wp-block-post-featured-image { overflow: hidden; margin-bottom: 1.25rem; }
.cf-card .wp-block-post-featured-image img { transition: transform 1.2s cubic-bezier(.2,.6,.2,1); }
.cf-card:hover .wp-block-post-featured-image img { transform: scale(1.035); }
.cf-card .wp-block-post-title a { text-decoration: none; }
.cf-card .wp-block-post-title a:hover { color: var(--wp--preset--color--bronze); }
.cf-card .wp-block-post-excerpt__more-text { margin-top: .75rem; }
.cf-card .wp-block-post-excerpt__more-link,
.cf-textlink a,
a.cf-textlink {
	font-family: var(--wp--preset--font-family--sans);
	font-size: .72rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
}

/* ---------- Single article ---------- */
.cf-article > p:first-of-type::first-letter {
	font-family: var(--wp--preset--font-family--serif);
	float: left;
	font-size: 4.6em;
	line-height: .82;
	padding: .06em .12em 0 0;
	color: var(--wp--preset--color--ink);
}
.cf-article .wp-block-image figcaption,
.wp-block-image figcaption {
	font-family: var(--wp--preset--font-family--sans);
	font-size: .78rem;
	letter-spacing: .03em;
	color: var(--wp--preset--color--taupe);
	text-align: center;
	margin-top: .8rem;
}
.cf-disclosure {
	font-family: var(--wp--preset--font-family--sans);
	font-size: .78rem;
	color: var(--wp--preset--color--taupe);
	font-style: italic;
}
.cf-disclosure a { color: inherit; }

/* ---------- Shop the Look ---------- */
.cf-shop {
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.cf-product .wp-block-image { margin-bottom: 1rem; background: var(--wp--preset--color--stone); }
.cf-product .wp-block-image img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; mix-blend-mode: multiply; }
.cf-product h4, .cf-product h3 { margin: 0; }
.cf-product .cf-price { color: var(--wp--preset--color--taupe); }
.cf-product .wp-block-button__link { width: 100%; }

/* Buttons: refined outline variant */
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-outline {
	background: transparent;
	color: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--ink);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--ivory);
}
.wp-block-button__link:hover { background: var(--wp--preset--color--bronze); }

/* ---------- Pull quote ---------- */
.wp-block-pullquote { border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); }
.wp-block-pullquote cite { font-family: var(--wp--preset--font-family--sans); font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; font-style: normal; color: var(--wp--preset--color--taupe); }

/* ---------- Forms ---------- */
.wp-block-search__input,
input[type="email"], input[type="text"], textarea {
	border: 1px solid var(--wp--preset--color--line);
	background: #fff;
	padding: .8rem 1rem;
	font-family: var(--wp--preset--font-family--sans);
	border-radius: 0;
}
.wp-block-search__button { margin-left: 0; }

/* ---------- Pagination ---------- */
.wp-block-query-pagination { font-family: var(--wp--preset--font-family--sans); font-size: .8rem; letter-spacing: .15em; text-transform: uppercase; }
.wp-block-query-pagination a { text-decoration: none; }
.wp-block-query-pagination-numbers .current { border-bottom: 1px solid currentColor; }

/* ---------- Footer ---------- */
.cf-footer a { text-decoration: none; }
.cf-footer a:hover { color: var(--wp--preset--color--ivory); opacity: .7; }

/* ---------- Hero ---------- */
.cf-hero .wp-block-post-featured-image img { aspect-ratio: 4 / 5; object-fit: cover; }
@media (min-width: 782px) {
	.cf-hero .wp-block-post-featured-image img { aspect-ratio: 5 / 6; }
}

/* ---------- Motion preference ---------- */
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}

/* Shop the Look: two products per row on phones */
@media (max-width: 600px) {
	.cf-shop .wp-block-group.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1.25rem !important; }
	.cf-product h4 { font-size: 1.1rem !important; }
}

/* Pinterest save button */
.cf-pinnable { position: relative; }
.cf-pin {
	position: absolute; top: 14px; right: 14px; z-index: 2;
	background: rgba(250, 248, 244, .92); color: var(--wp--preset--color--ink) !important;
	font-family: var(--wp--preset--font-family--sans); font-size: .66rem; font-weight: 500;
	letter-spacing: .2em; text-transform: uppercase; text-decoration: none !important;
	padding: .55rem .9rem; opacity: 0; transition: opacity .25s ease;
	display: inline-block !important; width: auto !important; height: auto !important; line-height: 1.2;
}
.cf-pinnable:hover .cf-pin, .cf-pin:focus { opacity: 1; }
@media (hover: none) { .cf-pin { opacity: .9; } }

/* Contact form */
.cf-contact { display: grid; gap: .25rem; }
.cf-contact label { display: block; font-family: var(--wp--preset--font-family--sans); font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--taupe); margin-bottom: .45rem; }
.cf-contact input[type="text"], .cf-contact input[type="email"], .cf-contact select, .cf-contact textarea {
	width: 100%; box-sizing: border-box; border: 1px solid var(--wp--preset--color--line); background: #fff;
	padding: .85rem 1rem; font: inherit; color: var(--wp--preset--color--ink); border-radius: 0;
}
.cf-contact input:focus, .cf-contact select:focus, .cf-contact textarea:focus { outline: 1px solid var(--wp--preset--color--bronze); border-color: var(--wp--preset--color--bronze); }
.cf-contact button { cursor: pointer; }
.cf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.cf-form-small { font-size: .8rem; color: var(--wp--preset--color--taupe); }
.cf-form-notice { padding: 1rem 1.25rem; border-left: 2px solid var(--wp--preset--color--bronze); background: var(--wp--preset--color--stone); font-family: var(--wp--preset--font-family--serif); font-size: 1.2rem; font-style: italic; }
.cf-form-err { border-left-color: #a5543d; }

/* Header monogram beside the wordmark */
.cf-brand .wp-block-site-logo { line-height: 0; flex-shrink: 0; }
.cf-brand { gap: 1.1rem !important; }
.cf-brand .wp-block-site-logo img { width: 100px; height: auto; display: block; }
@media (max-width: 600px) {
	.cf-brand { gap: .75rem !important; }
	.cf-brand .wp-block-site-logo img { width: 70px; }
}
