/*
Theme Name: Luxx A Look
Theme URI: https://luxxalook.com/
Author: Yunus Başaran
Author URI: https://luxxalook.com/
Description: Luxx A Look is a bold fashion & lifestyle magazine theme with a glassmorphism aesthetic, animated gradient backdrop and a built-in dark / light mode. Designed for editorial content across fashion, sneakers, lifestyle, music, technology, design and art, it ships a magazine-style front page (hero grid, latest posts, trending sidebar, editor's picks and a lookbook mosaic), a mega menu, category archives with filter chips and a distraction-free single article layout. Translation ready and WordPress template-hierarchy compliant.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: luxx-a-look
Tags: blog, news, magazine, two-columns, right-sidebar, custom-menu, featured-images, dark-mode, editor-style, sticky-post, translation-ready, full-width-template

Luxx A Look, like WordPress, is licensed under the GPL.
Design converted from the "Luxx A Look" prototype.
*/

/* =========================================================
   Table of contents
   1.  Fonts
   2.  Theme tokens (light / dark)
   3.  Base / reset
   4.  Animated background blobs
   5.  Header + navigation + mega menu
   6.  Layout helpers
   7.  Cards (shared)
   8.  Front page: hero
   9.  Front page: sections / grids
   10. Sidebar (trending + newsletter)
   11. Lookbook mosaic
   12. Archive / category
   13. Single article
   14. Pages / comments / search / 404
   15. Footer
   16. WordPress core classes
   17. Responsive
   ========================================================= */

/* 1. Fonts ------------------------------------------------ */
/* Quicksand (self-hosted subsets) — used for numerals / accents */
@font-face {
	font-family: 'Quicksand';
	font-style: normal;
	font-weight: 500 700;
	font-display: swap;
	src: url('assets/fonts/quicksand-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;
}
@font-face {
	font-family: 'Quicksand';
	font-style: normal;
	font-weight: 500 700;
	font-display: swap;
	src: url('assets/fonts/quicksand-latinext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Quicksand';
	font-style: normal;
	font-weight: 500 700;
	font-display: swap;
	src: url('assets/fonts/quicksand-vn.woff2') format('woff2');
	unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* 2. Theme tokens ---------------------------------------- */
.luxx {
	--pageA:#ece7f6; --pageB:#e0e9f7;
	--bg1:#efebf6; --bg2:#e6ebf4;
	--ink:#0c0c14; --ink2:#63636f;
	--glass:rgba(255,255,255,.28);
	--glassStrong:rgba(255,255,255,.5);
	--brd:rgba(255,255,255,.6);
	--hair:rgba(12,12,24,.10);
	--shadow:0 30px 70px -30px rgba(60,40,120,.38);
	--neon:#12a150; --pink:#e11d8f;
	--cta:#0c0c14; --ctaInk:#fff;
	--logo:#0c0c14; --logoGlow:0 1px 0 rgba(255,255,255,.6);
	--blobA:rgba(232,14,140,.62); --blobB:rgba(30,110,255,.56);
	--blobC:rgba(150,70,255,.66); --blobD:rgba(0,190,255,.5);
	--pill:rgba(12,12,24,.055);
	--glassEdge:inset 0 1.5px 0 rgba(255,255,255,.75),inset 0 0 0 1px rgba(255,255,255,.28),inset 0 -10px 20px -12px rgba(120,80,170,.28),0 16px 38px -16px rgba(60,40,120,.5);
	--glassPanel:rgba(255,255,255,.1);
	--panelBrd:rgba(255,255,255,.4);
	--menuHead:#000;
	--megaBg:rgba(255,255,255,.82);
}
.luxx.dark {
	--pageA:#080611; --pageB:#0c0a1a;
	--bg1:#0b0913; --bg2:#12101d;
	--ink:#f4f4f7; --ink2:#a6a6b8;
	--glass:rgba(255,255,255,.07);
	--glassStrong:rgba(255,255,255,.11);
	--brd:rgba(255,255,255,.18);
	--hair:rgba(255,255,255,.12);
	--shadow:0 40px 90px -40px rgba(0,0,0,.8);
	--neon:#c6ff2e; --pink:#ff36b5;
	--cta:#c6ff2e; --ctaInk:#0a0a0f;
	--logo:#c6ff2e; --logoGlow:0 0 22px rgba(198,255,46,.5);
	--blobA:rgba(255,54,181,.5); --blobB:rgba(56,132,255,.46);
	--blobC:rgba(150,80,255,.54); --blobD:rgba(0,200,255,.42);
	--pill:rgba(255,255,255,.08);
	--glassEdge:inset 0 1.5px 0 rgba(255,255,255,.38),inset 0 0 0 1px rgba(255,255,255,.15),inset 0 -10px 22px -12px rgba(0,0,0,.4),0 20px 48px -20px rgba(0,0,0,.8);
	--glassPanel:rgba(255,255,255,.07);
	--panelBrd:rgba(255,255,255,.16);
	--menuHead:#fff;
	--megaBg:rgba(14,11,24,.82);
}

/* 3. Base / reset ---------------------------------------- */
*, *::before, *::after { box-sizing:border-box; }
body { margin:0; padding:0; }
html { -webkit-text-size-adjust:100%; }
.luxx {
	min-height:100vh;
	position:relative;
	isolation:isolate;
	background:linear-gradient(180deg,var(--pageA),var(--pageB));
	overflow-x:hidden;
	color:var(--ink);
	font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
.luxx img { display:block; max-width:100%; }
.luxx a { color:inherit; text-decoration:none; }
.luxx a:hover { color:var(--pink); }
.luxx h1,.luxx h2,.luxx h3,.luxx h4 { margin:0; font-weight:700; }
.luxx p { margin:0; }
.screen-reader-text {
	border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%);
	height:1px; width:1px; margin:-1px; overflow:hidden; padding:0;
	position:absolute !important; word-wrap:normal !important;
}
.skip-link {
	position:absolute; left:-9999px; top:0; z-index:100;
	background:var(--cta); color:var(--ctaInk); padding:10px 18px;
	border-radius:0 0 10px 0; font-weight:700; font-size:13px;
}
.skip-link:focus { left:0; }

/* 4. Animated background blobs --------------------------- */
@keyframes drift1 { 0%{transform:translate(0,0) scale(1)} 50%{transform:translate(6%,-5%) scale(1.14)} 100%{transform:translate(-4%,4%) scale(1)} }
@keyframes drift2 { 0%{transform:translate(0,0) scale(1)} 50%{transform:translate(-7%,6%) scale(1.18)} 100%{transform:translate(5%,-4%) scale(1)} }
@keyframes drift3 { 0%{transform:translate(0,0) scale(1)} 50%{transform:translate(5%,7%) scale(1.1)} 100%{transform:translate(-5%,-5%) scale(1)} }
.luxx-bg { position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.luxx-bg .blob { position:absolute; border-radius:50%; will-change:transform; }
.luxx-bg .b1 { top:-8%; left:-8%; width:46vw; height:46vw; background:var(--blobC); filter:blur(130px); animation:drift1 30s ease-in-out infinite alternate; }
.luxx-bg .b2 { top:26%; right:-12%; width:50vw; height:50vw; background:var(--blobD); filter:blur(140px); animation:drift2 38s ease-in-out infinite alternate; }
.luxx-bg .b3 { bottom:-12%; left:22%; width:42vw; height:42vw; background:var(--blobA); filter:blur(130px); animation:drift3 34s ease-in-out infinite alternate; }
.luxx-bg .b4 { top:10%; left:-10%; width:620px; height:620px; filter:blur(110px); animation:drift3 33s ease-in-out infinite alternate; background-color:#C350FF8A; opacity:.7; }
.luxx-bg .b5 { top:45%; right:-10%; width:640px; height:640px; filter:blur(110px); animation:drift1 30s ease-in-out infinite alternate; background-color:#50EEFF8A; opacity:.7; }
@media (prefers-reduced-motion: reduce) {
	.luxx-bg .blob { animation:none !important; }
}

/* 5. Header / nav / mega menu ---------------------------- */
.site-header {
	position:sticky; top:0; z-index:40;
	-webkit-backdrop-filter:blur(22px) saturate(160%);
	backdrop-filter:blur(22px) saturate(160%);
	background:var(--glass);
	border-bottom:1px solid var(--hair);
}
.header-top {
	max-width:1320px; margin:0 auto; padding:16px 40px;
	display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px;
}
.header-meta {
	display:flex; align-items:center; gap:12px;
	font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink2);
}
.header-meta .sep { width:1px; height:12px; background:var(--hair); display:inline-block; }
.brand {
	justify-self:center; display:flex; align-items:center; height:52px; cursor:pointer;
}
.brand img { height:48px; width:auto; object-fit:contain; }
.luxx.dark .brand img { filter:drop-shadow(0 2px 14px rgba(255,54,181,.35)); }
.brand .brand-text {
	font-family:'Quicksand',sans-serif; font-weight:700; font-size:24px;
	letter-spacing:.02em; color:var(--logo); text-shadow:var(--logoGlow); text-transform:lowercase;
}
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.icon-btn {
	display:inline-flex; align-items:center; justify-content:center;
	width:38px; height:38px; border-radius:999px;
	background:var(--glass); border:1px solid var(--brd);
	box-shadow:var(--glassEdge); color:var(--ink); cursor:pointer;
	padding:0; transition:color .2s, transform .2s;
}
.icon-btn:hover { transform:translateY(-1px); }
.luxx.dark .theme-toggle .icon-sun { color:var(--pink); }
.theme-toggle .icon-sun { display:none; }
.theme-toggle .icon-moon { display:inline-flex; }
.luxx.dark .theme-toggle .icon-sun { display:inline-flex; }
.luxx.dark .theme-toggle .icon-moon { display:none; }

/* search dropdown */
.header-search-panel {
	position:absolute; left:0; right:0; top:100%; z-index:39;
	display:none; padding:0 40px;
}
.header-search-panel.open { display:block; }
.header-search-panel .inner {
	max-width:1320px; margin:12px auto 0;
	border-radius:18px; background:var(--megaBg); border:1px solid var(--brd);
	-webkit-backdrop-filter:blur(44px) saturate(180%); backdrop-filter:blur(44px) saturate(180%);
	box-shadow:var(--glassEdge),var(--shadow); padding:18px 22px;
}

/* primary nav */
.primary-nav { border-top:1px solid var(--hair); }
.primary-nav .nav-inner {
	max-width:1320px; margin:0 auto; padding:14px 40px;
	display:flex; gap:10px; justify-content:center; flex-wrap:wrap;
}
.primary-nav ul { list-style:none; margin:0; padding:0; display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.primary-nav li { position:relative; }
.nav-pill, .primary-nav a {
	display:inline-block; padding:9px 17px; border-radius:999px;
	border:1px solid var(--brd);
	-webkit-backdrop-filter:blur(14px) saturate(160%); backdrop-filter:blur(14px) saturate(160%);
	color:var(--ink); text-transform:uppercase; letter-spacing:.08em;
	font-size:12px; font-weight:700; box-shadow:var(--glassEdge);
	cursor:pointer; transition:all .2s; background:var(--glass); white-space:nowrap;
}
.primary-nav a:hover,
.primary-nav .current-menu-item > a,
.primary-nav .current_page_item > a,
.nav-pill.is-active {
	background:var(--pink); border-color:transparent; color:#fff;
}

/* mega menu */
.mega { position:absolute; left:0; right:0; top:100%; z-index:39; display:none; }
.mega.open { display:block; }
.mega-wrap { max-width:1320px; margin:0 auto; padding:0 40px; }
.mega-inner {
	margin-top:12px; border-radius:22px; background:var(--megaBg); border:1px solid var(--brd);
	-webkit-backdrop-filter:blur(44px) saturate(180%); backdrop-filter:blur(44px) saturate(180%);
	box-shadow:var(--glassEdge),var(--shadow);
	padding:28px 30px; display:grid; grid-template-columns:1fr 1fr 1.5fr; gap:30px;
}
.mega-head {
	display:inline-block; font-size:12px; letter-spacing:.14em; text-transform:uppercase;
	color:var(--menuHead); font-weight:800; margin-bottom:14px;
	padding:7px 15px; border-radius:999px; background:var(--glass); border:1px solid var(--brd);
	-webkit-backdrop-filter:blur(14px) saturate(160%); backdrop-filter:blur(14px) saturate(160%);
	box-shadow:var(--glassEdge);
}
.mega-panel {
	display:flex; flex-direction:column; gap:8px; padding:12px; border-radius:16px;
	background:var(--glassPanel); border:1px solid var(--panelBrd);
	-webkit-backdrop-filter:blur(22px) saturate(185%); backdrop-filter:blur(22px) saturate(185%);
	box-shadow:var(--glassEdge);
}
.mega-pill {
	padding:9px 14px; border-radius:999px; background:var(--glass); border:1px solid var(--brd);
	-webkit-backdrop-filter:blur(14px) saturate(160%); backdrop-filter:blur(14px) saturate(160%);
	box-shadow:var(--glassEdge); color:var(--ink);
	text-transform:uppercase; letter-spacing:.05em; font-size:13px; font-weight:600;
}
.mega-feat-col { display:flex; flex-direction:column; }
.mega-feat-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; flex:1; }
.mega-feat {
	display:flex; padding:7px; border-radius:16px; background:var(--glass); border:1px solid var(--brd);
	-webkit-backdrop-filter:blur(18px) saturate(160%); backdrop-filter:blur(18px) saturate(160%);
	box-shadow:var(--glassEdge);
}
.mega-feat .media { position:relative; border-radius:11px; overflow:hidden; flex:1; min-height:200px; }
.mega-feat .media img { width:100%; height:100%; object-fit:cover; }

/* 6. Layout helpers -------------------------------------- */
.site-main {
	position:relative; z-index:2; max-width:1320px; margin:0 auto; padding:40px 40px 90px;
}
.upper { text-transform:uppercase; }
.section { margin-top:52px; }
.section:first-child { margin-top:0; }
.section-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.section-title { font-size:22px; font-weight:700; letter-spacing:-.01em; }
.see-all {
	font-size:13px; color:var(--ink2); display:inline-flex; align-items:center; gap:6px; cursor:pointer;
}
.see-all:hover { color:var(--pink); }

/* 7. Cards (shared) -------------------------------------- */
.card { transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease; }
.card:hover { transform:translateY(-6px); }
.card img { transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.card:hover img { transform:scale(1.045); }

.overlay-cap {
	position:absolute; padding:10px 12px; border-radius:10px;
	background:rgba(18,14,28,.44);
	-webkit-backdrop-filter:blur(14px) saturate(160%); backdrop-filter:blur(14px) saturate(160%);
	border:1px solid rgba(255,255,255,.22); color:#fff;
}
.eyebrow {
	font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#fff; opacity:.88; font-weight:700;
}
.cat-badge {
	display:inline-block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700;
	padding:6px 12px; border-radius:999px; background:var(--pink); color:#fff;
}
.post-time { font-size:10px; margin-top:4px; color:rgba(255,255,255,.72); text-transform:uppercase; letter-spacing:.08em; }

/* generic post card (3-up grids) */
.post-card {
	display:block; padding:7px; border-radius:16px; background:var(--glass); border:1px solid var(--brd);
	-webkit-backdrop-filter:blur(18px) saturate(160%); backdrop-filter:blur(18px) saturate(160%);
	box-shadow:var(--glassEdge); cursor:pointer;
}
.post-card .media { position:relative; border-radius:11px; overflow:hidden; aspect-ratio:4/3; }
.post-card .media img { width:100%; height:100%; object-fit:cover; }
.post-card .cap { left:7px; right:7px; bottom:7px; }
.post-card .title {
	font-size:13px; font-weight:700; line-height:1.3; margin-top:2px; color:#fff;
	text-transform:uppercase; letter-spacing:.02em;
}
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }

/* 8. Front page: hero ------------------------------------ */
.hero-grid { display:grid; grid-template-columns:2fr 1fr; gap:20px; }
.hero-main {
	position:relative; padding:7px; border-radius:22px; background:var(--glass); border:1px solid var(--brd);
	-webkit-backdrop-filter:blur(18px) saturate(160%); backdrop-filter:blur(18px) saturate(160%);
	box-shadow:var(--glassEdge); min-height:460px; display:block; cursor:pointer;
}
.hero-main .media { position:absolute; inset:7px; border-radius:16px; overflow:hidden; }
.hero-main .media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-main .scrim { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.72) 100%); }
.hero-main .cap {
	left:18px; right:18px; bottom:18px; padding:24px 26px; border-radius:14px;
	background:rgba(18,14,28,.44);
	-webkit-backdrop-filter:blur(16px) saturate(160%); backdrop-filter:blur(16px) saturate(160%);
	border:1px solid rgba(255,255,255,.22); color:#fff;
}
.hero-main h2 {
	margin-top:14px; font-size:34px; line-height:1.1; font-weight:700; letter-spacing:-.02em;
	max-width:640px; text-wrap:pretty;
}
.hero-main .excerpt { margin-top:10px; font-size:14px; line-height:1.5; color:rgba(255,255,255,.85); max-width:560px; }
.hero-main .time { margin-top:12px; font-size:12px; color:rgba(255,255,255,.7); }

.hero-side { display:flex; flex-direction:column; gap:20px; }
.hero-side-card {
	position:relative; padding:7px; border-radius:18px; background:var(--glass); border:1px solid var(--brd);
	-webkit-backdrop-filter:blur(18px) saturate(160%); backdrop-filter:blur(18px) saturate(160%);
	box-shadow:var(--glassEdge); flex:1; min-height:220px; display:block; cursor:pointer;
}
.hero-side-card .media { position:absolute; inset:7px; border-radius:12px; overflow:hidden; }
.hero-side-card .media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-side-card .scrim { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.7) 100%); }
.hero-side-card .cap { left:10px; right:10px; bottom:10px; padding:14px 16px; border-radius:11px; }
.hero-side-card .title { margin-top:5px; font-size:15px; font-weight:700; line-height:1.25; text-wrap:pretty; }
.hero-side-card .time { margin-top:7px; font-size:11px; color:rgba(255,255,255,.72); }

/* 9. Front page: sections -------------------------------- */
.content-with-aside { display:grid; grid-template-columns:1fr 320px; gap:30px; margin-top:44px; }
@media (min-width:981px){ .content-with-aside .card-grid { grid-template-columns:repeat(3,1fr); } }

/* editor picks */
.editor-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.editor-card {
	display:block; padding:7px; border-radius:18px; border:1px solid var(--brd); background:var(--glass);
	-webkit-backdrop-filter:blur(18px) saturate(160%); backdrop-filter:blur(18px) saturate(160%);
	box-shadow:var(--glassEdge); cursor:pointer;
}
.editor-card .media { position:relative; border-radius:12px; overflow:hidden; aspect-ratio:16/10; }
.editor-card .media img { width:100%; height:100%; object-fit:cover; }
.editor-card .cap { left:8px; right:8px; bottom:8px; padding:12px 14px; border-radius:11px; }
.editor-card .title {
	margin-top:3px; font-size:15px; font-weight:700; line-height:1.3; color:#fff;
	text-transform:uppercase; letter-spacing:.02em;
}

/* 10. Sidebar ------------------------------------------- */
.sidebar-box {
	position:sticky; top:150px; border-radius:20px; background:var(--glass); border:1px solid var(--brd);
	-webkit-backdrop-filter:blur(22px) saturate(160%); backdrop-filter:blur(22px) saturate(160%);
	box-shadow:var(--glassEdge),var(--shadow); padding:24px;
}
.sidebar-box + .sidebar-box { margin-top:24px; }
.widget-title, .sidebar-box h3 {
	font-size:16px; font-weight:700; letter-spacing:.02em; display:flex; align-items:center; gap:8px; margin:0;
}
.widget-title .dot, .trending-title .dot {
	width:8px; height:8px; border-radius:50%; background:var(--pink); box-shadow:0 0 10px var(--pink);
}
.trending { margin-top:18px; display:flex; flex-direction:column; }
.trending-item {
	display:flex; align-items:center; gap:12px; padding:14px 0; border-top:1px solid var(--hair); cursor:pointer;
}
.trending-item:first-child { border-top:0; }
.trend-num { font-family:'Quicksand',sans-serif; font-weight:700; font-size:20px; color:var(--pink); min-width:24px; }
.trend-thumb {
	flex-shrink:0; padding:4px; border-radius:12px; background:var(--glass); border:1px solid var(--brd);
	-webkit-backdrop-filter:blur(14px) saturate(160%); backdrop-filter:blur(14px) saturate(160%);
	box-shadow:var(--glassEdge);
}
.trend-thumb img { display:block; width:46px; height:46px; object-fit:cover; border-radius:9px; }
.trend-cat { display:block; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink2); font-weight:600; }
.trend-title { display:block; margin-top:3px; font-size:14px; font-weight:600; line-height:1.3; color:var(--ink); }

.newsletter { margin-top:22px; padding-top:22px; border-top:1px solid var(--hair); }
.newsletter .nl-title { font-size:15px; font-weight:700; }
.newsletter p { margin-top:6px; font-size:12px; color:var(--ink2); line-height:1.5; }
.newsletter form { margin-top:12px; display:flex; gap:8px; }
.newsletter input[type=email] {
	flex:1; font-size:12px; color:var(--ink); background:var(--pill); border:1px solid var(--hair);
	border-radius:10px; padding:10px 12px; outline:none;
}
.newsletter input::placeholder { color:var(--ink2); }
.newsletter button {
	border:none; border-radius:10px; padding:0 16px; font-size:13px; font-weight:700;
	background:var(--cta); color:var(--ctaInk); cursor:pointer;
}

/* 11. Lookbook mosaic ----------------------------------- */
.lookbook {
	display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:1fr 1fr; gap:16px; height:420px;
}
.lookbook a { border-radius:18px; overflow:hidden; border:1px solid var(--brd); cursor:pointer; }
.lookbook a img { width:100%; height:100%; object-fit:cover; }
.lookbook a:first-child { grid-row:1 / span 2; }

/* 12. Archive / category -------------------------------- */
.crumbs { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink2); margin-bottom:10px; }
.crumbs a { cursor:pointer; }
.page-head-title { font-size:52px; font-weight:700; letter-spacing:-.03em; }
.page-head-desc { margin-top:12px; font-size:16px; color:var(--ink2); max-width:560px; line-height:1.5; }
.chips { margin-top:26px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.chip {
	font-size:13px; font-weight:600; padding:9px 16px; border-radius:999px; background:var(--glass); border:1px solid var(--brd);
	-webkit-backdrop-filter:blur(14px) saturate(160%); backdrop-filter:blur(14px) saturate(160%);
	box-shadow:var(--glassEdge); color:var(--ink); cursor:pointer;
}
.chip.is-active { background:var(--pink); border-color:transparent; color:#fff; }
.chips .sort { margin-left:auto; font-size:13px; color:var(--ink2); display:inline-flex; align-items:center; gap:8px; }
.archive-grid { margin-top:30px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.archive-grid .post-card .title { font-size:14px; }

/* pagination */
.luxx-pagination { margin-top:44px; display:flex; justify-content:center; align-items:center; gap:10px; flex-wrap:wrap; }
.luxx-pagination .page-numbers {
	width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:12px;
	font-size:14px; font-weight:600; background:var(--glass); border:1px solid var(--brd);
	-webkit-backdrop-filter:blur(14px) saturate(160%); backdrop-filter:blur(14px) saturate(160%);
	box-shadow:var(--glassEdge); color:var(--ink); cursor:pointer;
}
.luxx-pagination .page-numbers.current,
.luxx-pagination .page-numbers.next,
.luxx-pagination .page-numbers.prev { background:var(--cta); color:var(--ctaInk); border-color:transparent; }
.luxx-pagination .page-numbers.dots { background:transparent; border:0; box-shadow:none; }

/* 13. Single article ------------------------------------ */
.article-head { max-width:800px; margin:0 auto; text-transform:uppercase; }
.article-head .crumbs { margin-bottom:18px; }
.article-title { margin-top:20px; font-size:46px; line-height:1.08; font-weight:700; letter-spacing:-.03em; text-wrap:pretty; }
.article-meta { margin-top:20px; display:flex; align-items:center; gap:16px; font-size:14px; color:var(--ink2); }
.article-meta .m-dot { width:3px; height:3px; border-radius:50%; background:var(--ink2); }
.article-meta .actions { margin-left:auto; display:inline-flex; gap:8px; }
.article-meta .actions a {
	width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px;
	background:var(--glass); border:1px solid var(--brd); box-shadow:var(--glassEdge); cursor:pointer;
}
.article-hero { max-width:1040px; margin:24px auto 0; }
.article-hero .frame {
	padding:7px; border-radius:22px; background:var(--glass); border:1px solid var(--brd);
	-webkit-backdrop-filter:blur(18px) saturate(160%); backdrop-filter:blur(18px) saturate(160%);
	box-shadow:var(--glassEdge);
}
.article-hero .frame .media { border-radius:16px; overflow:hidden; aspect-ratio:16/9; }
.article-hero .frame .media img { width:100%; height:100%; object-fit:cover; }
.article-body {
	max-width:720px; margin:40px auto 0; font-size:18px; line-height:1.75; color:var(--ink);
}
.article-body .prose {
	margin-bottom:26px; padding:32px 34px; border-radius:18px; background:var(--glass); border:1px solid var(--brd);
	-webkit-backdrop-filter:blur(20px) saturate(160%); backdrop-filter:blur(20px) saturate(160%);
	box-shadow:var(--glassEdge);
}
.article-body .prose > * + * { margin-top:20px; }
.article-body p { margin:0; }
.article-body a { color:var(--pink); text-decoration:underline; }
.article-body h2,.article-body h3 { margin:1.2em 0 .4em; letter-spacing:-.01em; }
.article-body img { border-radius:14px; margin:8px 0; }
.article-body ul,.article-body ol { margin:0; padding-left:1.4em; }
.article-body blockquote {
	margin:6px 0 30px; padding:22px 26px; border-radius:16px; background:var(--glass); border:1px solid var(--brd);
	border-left:3px solid var(--pink); font-size:22px; line-height:1.4; font-weight:600; color:var(--ink); text-wrap:pretty;
}
.article-tags { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0 8px; }
.article-tags a {
	font-size:13px; padding:7px 14px; border-radius:999px; background:var(--pill); border:1px solid var(--hair); color:var(--ink2);
}
.related { max-width:1320px; margin:56px auto 0; text-transform:uppercase; }
.related .archive-grid { margin-top:0; }

/* 14. Pages / comments / search / 404 ------------------- */
.page-panel {
	max-width:820px; margin:0 auto; padding:36px 40px; border-radius:22px;
	background:var(--glass); border:1px solid var(--brd);
	-webkit-backdrop-filter:blur(20px) saturate(160%); backdrop-filter:blur(20px) saturate(160%);
	box-shadow:var(--glassEdge); font-size:17px; line-height:1.7;
}
.page-panel.full { max-width:1180px; }
.page-panel h1 { font-size:40px; letter-spacing:-.02em; margin-bottom:20px; }
.page-panel > * + * { margin-top:18px; }
.page-panel a { color:var(--pink); text-decoration:underline; }

.notfound { max-width:640px; margin:40px auto; text-align:center; }
.notfound .big { font-family:'Quicksand',sans-serif; font-size:120px; font-weight:700; color:var(--pink); line-height:1; }
.notfound h1 { font-size:28px; margin-top:8px; }
.notfound p { margin-top:12px; color:var(--ink2); }

.searchform { display:flex; gap:8px; max-width:520px; }
.searchform input[type=search] {
	flex:1; font-size:14px; color:var(--ink); background:var(--pill); border:1px solid var(--hair);
	border-radius:12px; padding:12px 16px; outline:none;
}
.searchform button {
	border:none; border-radius:12px; padding:0 20px; font-size:14px; font-weight:700;
	background:var(--cta); color:var(--ctaInk); cursor:pointer;
}

/* comments */
.comments-area { max-width:800px; margin:48px auto 0; }
.comments-area .comments-title, .comments-area .comment-reply-title { font-size:20px; margin-bottom:18px; }
.comment-list { list-style:none; margin:0; padding:0; }
.comment-list li { padding:18px 0; border-top:1px solid var(--hair); }
.comment-list .children { list-style:none; margin:0 0 0 28px; padding:0; }
.comment-author { font-weight:700; font-size:14px; }
.comment-metadata { font-size:12px; color:var(--ink2); }
.comment-content { margin-top:8px; font-size:15px; line-height:1.6; }
.comment-respond {
	margin-top:24px; padding:24px 26px; border-radius:18px; background:var(--glass); border:1px solid var(--brd); box-shadow:var(--glassEdge);
}
.comment-respond input[type=text],
.comment-respond input[type=email],
.comment-respond input[type=url],
.comment-respond textarea {
	width:100%; font-size:14px; color:var(--ink); background:var(--pill); border:1px solid var(--hair);
	border-radius:10px; padding:11px 13px; outline:none; margin-top:6px; font-family:inherit;
}
.comment-respond .form-submit input, .comment-respond input[type=submit] {
	width:auto; border:none; border-radius:10px; padding:11px 20px; font-size:14px; font-weight:700;
	background:var(--cta); color:var(--ctaInk); cursor:pointer; margin-top:12px;
}

/* 15. Footer -------------------------------------------- */
.site-footer {
	position:relative; z-index:2; border-top:1px solid var(--hair);
	-webkit-backdrop-filter:blur(22px) saturate(160%); backdrop-filter:blur(22px) saturate(160%);
	background:var(--glass); margin-top:40px;
}
.footer-inner {
	max-width:1320px; margin:0 auto; padding:40px; display:grid;
	grid-template-columns:1.4fr 1fr 1fr 1fr; gap:30px;
}
.footer-brand img { height:44px; width:auto; }
.footer-brand p { margin-top:14px; font-size:13px; color:var(--ink2); line-height:1.6; max-width:280px; }
.footer-col h4 { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink2); margin-bottom:14px; }
.footer-col ul { list-style:none; margin:0; padding:0; }
.footer-col li { margin-bottom:10px; }
.footer-col a { font-size:14px; color:var(--ink); }
.footer-col a:hover { color:var(--pink); }
.footer-bottom {
	border-top:1px solid var(--hair); text-align:center; font-size:12px; color:var(--ink2);
	padding:20px 40px; letter-spacing:.05em;
}

/* 16. WordPress core classes ---------------------------- */
.luxx .alignleft { float:left; margin:0 1.5em 1em 0; }
.luxx .alignright { float:right; margin:0 0 1em 1.5em; }
.luxx .aligncenter { display:block; margin:1em auto; }
.wp-caption { max-width:100%; }
.wp-caption-text { font-size:12px; color:var(--ink2); text-align:center; margin-top:6px; }
.sticky .post-card { outline:2px solid var(--pink); outline-offset:2px; }
.luxx .wp-block-image img { border-radius:14px; }
.bypostauthor > .comment-body { }

/* 17. Responsive ---------------------------------------- */
@media (max-width:1100px){
	.header-top, .primary-nav .nav-inner, .site-main, .footer-inner, .mega-wrap { padding-left:24px; padding-right:24px; }
	.site-main { padding-top:28px; }
}
@media (max-width:900px){
	.hero-grid { grid-template-columns:1fr; }
	.content-with-aside { grid-template-columns:1fr; }
	.mega-inner { grid-template-columns:1fr; }
	.footer-inner { grid-template-columns:1fr 1fr; }
	.page-head-title { font-size:40px; }
	.article-title { font-size:34px; }
}
@media (max-width:680px){
	.card-grid, .editor-grid, .archive-grid, .related .archive-grid { grid-template-columns:1fr 1fr; }
	.lookbook { grid-template-columns:1fr 1fr; grid-template-rows:auto; height:auto; }
	.lookbook a:first-child { grid-row:auto; grid-column:1 / span 2; aspect-ratio:16/9; }
	.lookbook a { aspect-ratio:1/1; }
	.header-top { grid-template-columns:auto 1fr auto; }
	.header-meta { display:none; }
	.hero-main h2 { font-size:26px; }
	.footer-inner { grid-template-columns:1fr; }
}
@media (max-width:460px){
	.card-grid, .editor-grid, .archive-grid, .related .archive-grid { grid-template-columns:1fr; }
	.site-main { padding-left:16px; padding-right:16px; }
	.header-top, .primary-nav .nav-inner { padding-left:16px; padding-right:16px; }
}
