/*
 * GreeceDeals - Main stylesheet
 *
 * Design language: Japanese minimalism (ma 間 / negative space).
 * - Off-white background, charcoal text, single sumi-iro accent.
 * - Hairline dividers instead of cards/shadows.
 * - Generous whitespace, refined typography.
 * - No gratuitous animation.
 *
 * Loaded asynchronously after critical.css.
 */

/* ==========================================================================
   Typography
   ========================================================================== */

p{margin:0 0 1.25rem;color:var(--text);max-width:68ch}
.entry-content p,.entry-content ul,.entry-content ol{font-size:1.0625rem;line-height:1.8}
.entry-content h2{
	font-size:1.65rem;
	margin:var(--space-6) 0 var(--space-3);
	padding-top:var(--space-4);
	border-top:1px solid var(--hairline);
	font-weight:400;
}
.entry-content h3{
	font-size:1.3rem;
	margin:var(--space-5) 0 var(--space-3);
	font-weight:400;
}
.entry-content ul,.entry-content ol{padding-left:1.5em;margin:0 0 1.5rem;max-width:68ch}
.entry-content li{margin:.4em 0}
.entry-content blockquote{
	border-left:2px solid var(--accent);
	margin:var(--space-5) 0;
	padding:var(--space-2) var(--space-4);
	font-family:var(--font-serif);
	font-style:italic;
	color:var(--text-muted);
	max-width:60ch;
}
.entry-content a{
	color:var(--text);
	border-bottom:1px solid var(--hairline-strong);
	transition:border-color .2s var(--ease),color .2s var(--ease);
}
.entry-content a:hover{
	color:var(--accent);
	border-bottom-color:var(--accent);
}
.entry-content img{
	margin:var(--space-4) 0;
	border-radius:var(--radius);
}
.entry-content code{
	background:var(--surface-alt);
	padding:.1em .35em;
	border-radius:var(--radius);
	font-size:.92em;
}

::selection{background:var(--accent-soft);color:var(--ink)}

/* ==========================================================================
   Header search
   ========================================================================== */

.header-search{
	position:absolute;top:100%;right:0;left:0;
	background:var(--bg);
	border-bottom:1px solid var(--hairline);
	padding:var(--space-4);
}
.header-search:not([hidden]){display:block}

.search-form{
	display:flex;align-items:center;
	max-width:var(--maxw);margin:0 auto;
	border-bottom:1px solid var(--hairline-strong);
	transition:border-color .2s var(--ease);
}
.search-form:focus-within{border-bottom-color:var(--text)}
.search-form__field{
	flex:1;
	background:transparent;
	border:0;outline:0;
	padding:var(--space-3) 0;
	font:inherit;font-size:1.1rem;
	color:var(--text);
}
.search-form__field::placeholder{color:var(--text-soft)}
.search-form__submit{
	background:none;border:0;cursor:pointer;
	padding:var(--space-3) var(--space-2);
	color:var(--text-muted);
	transition:color .2s var(--ease);
}
.search-form__submit:hover{color:var(--accent)}

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */

.breadcrumbs{
	font-size:.85rem;
	color:var(--text-muted);
	padding:var(--space-4) 0 0;
	margin-bottom:var(--space-4);
}
.breadcrumbs a{
	color:var(--text-muted);
	border-bottom:1px solid transparent;
	transition:color .2s var(--ease),border-color .2s var(--ease);
}
.breadcrumbs a:hover{
	color:var(--text);
	border-bottom-color:var(--hairline-strong);
}
.breadcrumbs__sep{color:var(--text-soft);margin:0 .35em}
.breadcrumbs [aria-current="page"]{color:var(--text)}

/* ==========================================================================
   Page header (archives / search)
   ========================================================================== */

.page-header{
	padding:var(--space-5) 0 var(--space-5);
	border-bottom:1px solid var(--hairline);
	margin-bottom:var(--space-2);
}
.page-title{
	font-size:clamp(1.8rem,4vw,2.6rem);
	margin:0 0 var(--space-2);
	font-weight:400;
}
.page-meta,.archive-description{
	color:var(--text-muted);
	font-size:.95rem;
	margin:0;
	max-width:62ch;
}

.section-head{
	display:flex;align-items:baseline;justify-content:space-between;
	gap:var(--space-3);
	padding:var(--space-6) 0 var(--space-3);
	border-bottom:1px solid var(--hairline);
}
.section-title{
	font-size:1.5rem;
	margin:0;
	font-weight:400;
	letter-spacing:-.005em;
}
.section-meta{
	color:var(--text-soft);
	font-size:.8rem;
	letter-spacing:.1em;
	text-transform:uppercase;
}

/* ==========================================================================
   Deal cards
   ========================================================================== */

.deal-card{
	display:flex;
	flex-direction:column;
	background:transparent;
	transition:transform .25s var(--ease);
}
.deal-card:hover{transform:translateY(-2px)}
.deal-card__link{
	display:flex;flex-direction:column;
	color:var(--text);
	height:100%;
}
.deal-card__media{
	position:relative;
	background:var(--surface-alt);
	aspect-ratio:3/2;
	overflow:hidden;
	margin-bottom:var(--space-3);
}
.deal-card__image{
	width:100%;height:100%;object-fit:cover;
	transition:transform .5s var(--ease),opacity .3s var(--ease);
}
.deal-card__link:hover .deal-card__image{transform:scale(1.03)}
.deal-card__image--placeholder{
	background:var(--surface-alt);
	display:flex;align-items:center;justify-content:center;
}
.deal-card__discount{
	position:absolute;top:var(--space-3);left:var(--space-3);
	background:var(--badge-bg);color:var(--badge-fg);
	font-size:.78rem;
	letter-spacing:.04em;
	padding:.25rem .55rem;
	font-variant-numeric:tabular-nums;
}
.deal-card__body{
	display:flex;flex-direction:column;
	gap:var(--space-2);
	padding:0 var(--space-1);
}
.deal-card__category{
	font-size:.7rem;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--text-soft);
}
.deal-card__title{
	font-family:var(--font-serif);
	font-size:1.05rem;
	line-height:1.4;
	font-weight:400;
	margin:0;
	color:var(--text);
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
	letter-spacing:-.005em;
}
.deal-card__link:hover .deal-card__title{color:var(--accent)}
.deal-card__price{
	margin-top:auto;
	display:flex;align-items:baseline;gap:.5rem;
	flex-wrap:wrap;
	font-variant-numeric:tabular-nums;
}
.deal-card__price-current{
	color:var(--accent);
	font-weight:600;
	font-size:1.05rem;
	letter-spacing:-.01em;
}
.deal-card__price-regular{
	color:var(--text-soft);
	font-size:.88rem;
}
.deal-card__merchant{
	color:var(--text-muted);
	font-size:.82rem;
}
.deal-card--expired{opacity:.55}
.deal-card--expired .deal-card__price-current{color:var(--text-muted)}

/* ==========================================================================
   Single entry
   ========================================================================== */

.entry{
	padding:var(--space-3) 0 var(--space-6);
}
.entry-header{
	padding:var(--space-3) 0 var(--space-5);
	border-bottom:1px solid var(--hairline);
	margin-bottom:var(--space-5);
}
.entry-category{
	display:inline-block;
	font-size:.75rem;
	letter-spacing:.18em;
	text-transform:uppercase;
	color:var(--text-soft);
	margin-bottom:var(--space-3);
	border-bottom:1px solid transparent;
	transition:color .2s var(--ease),border-color .2s var(--ease);
}
.entry-category:hover{color:var(--accent);border-bottom-color:var(--accent)}
.entry-title{
	font-size:clamp(1.8rem,3.5vw,2.4rem);
	font-weight:400;
	margin:0 0 var(--space-4);
	letter-spacing:-.015em;
	line-height:1.2;
	color:var(--ink);
}
.entry-meta{
	display:flex;align-items:center;
	flex-wrap:wrap;
	gap:.5rem;
	color:var(--text-muted);
	font-size:.88rem;
}
.entry-meta__sep{color:var(--text-soft)}
.entry-meta a{color:var(--text-muted)}
.entry-meta a:hover{color:var(--text)}

.byline{display:inline-flex;align-items:center;gap:.5rem}
.byline__avatar{
	width:28px;height:28px;
	border-radius:50%;
	background:var(--surface-alt);
}
.byline__name a{color:var(--text-muted)}

.entry-image{
	margin:0 0 var(--space-5);
	background:var(--surface-alt);
}
.entry-image img{width:100%;height:auto;display:block}

/* Deal summary box (price + merchant + CTA) */
.deal-summary{
	background:var(--surface);
	border:1px solid var(--hairline);
	padding:var(--space-5);
	margin:var(--space-5) 0;
	display:flex;flex-direction:column;
	gap:var(--space-3);
	align-items:flex-start;
}
.deal-summary__merchant{
	margin:0;
	color:var(--text-muted);
	font-size:.95rem;
}
.deal-summary__merchant-label{margin-right:.35em}
.deal-summary__merchant strong{
	color:var(--text);
	font-weight:600;
}

.deal-price{
	display:flex;align-items:baseline;
	gap:.6rem;flex-wrap:wrap;
	font-variant-numeric:tabular-nums;
}
.deal-price__current{
	font-family:var(--font-serif);
	font-size:2rem;
	color:var(--accent);
	letter-spacing:-.015em;
	font-weight:500;
}
.deal-price__regular{color:var(--text-soft);font-size:1.05rem}
.deal-price__discount{
	background:var(--accent);color:#fff;
	font-size:.78rem;letter-spacing:.04em;
	padding:.2rem .5rem;
	align-self:center;
}

/* CTA button - quiet but confident */
.deal-cta{
	display:inline-flex;align-items:center;
	gap:.6rem;
	background:var(--btn-bg);
	color:var(--btn-fg) !important;
	padding:.85rem 1.6rem;
	font-size:.98rem;
	letter-spacing:.01em;
	border:1px solid var(--btn-bg);
	transition:background .2s var(--ease),color .2s var(--ease),transform .15s var(--ease);
	border-bottom:1px solid var(--btn-bg) !important;
	width:auto;
	border-radius:var(--radius);
}
.deal-cta:hover{
	background:var(--btn-bg-hover);
	color:var(--btn-fg-hover) !important;
	transform:translateY(-1px);
}
.deal-cta__arrow{transition:transform .25s var(--ease)}
.deal-cta:hover .deal-cta__arrow{transform:translateX(4px)}

.deal-action-block{
	border-top:1px solid var(--hairline);
	border-bottom:1px solid var(--hairline);
	padding:var(--space-5) 0;
	margin:var(--space-5) 0;
	display:flex;flex-direction:column;
	gap:var(--space-3);
	align-items:flex-start;
}
.deal-disclosure{
	color:var(--text-soft);
	font-size:.78rem;
	margin:0;
}

.deal-expired-notice{
	background:#fdf6e7;
	border-left:2px solid #c89610;
	padding:var(--space-3) var(--space-4);
	margin:0 0 var(--space-4);
	font-size:.92rem;
	color:#5a4310;
}

/* Tags */
.entry-tags{
	margin-top:var(--space-5);
	padding-top:var(--space-4);
	border-top:1px solid var(--hairline);
	font-size:.85rem;
	color:var(--text-muted);
}
.entry-tags__label{color:var(--text-soft);margin-right:.35em}
.entry-tags a{
	color:var(--text-muted);
	border-bottom:1px solid transparent;
	transition:color .2s var(--ease),border-color .2s var(--ease);
}
.entry-tags a:hover{color:var(--accent);border-bottom-color:var(--accent)}

.entry-footer{margin-top:var(--space-5)}

/* ==========================================================================
   Related deals (contextual)
   ========================================================================== */

.related-deals{
	margin-top:var(--space-7);
	padding-top:var(--space-6);
	border-top:1px solid var(--hairline);
}
.related-deals .section-title{
	border:0;padding:0;margin:0 0 var(--space-5);
}
.related-deals .deal-grid{padding:0}

/* ==========================================================================
   Pagination
   ========================================================================== */

.pagination{
	padding:var(--space-6) 0 var(--space-7);
	display:flex;justify-content:center;
	border-top:1px solid var(--hairline);
	margin-top:var(--space-3);
}
.pagination__list{
	list-style:none;display:flex;
	gap:var(--space-1);
	margin:0;padding:0;
}
.pagination__item .page-numbers{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:42px;height:42px;
	padding:0 12px;
	font-size:.92rem;
	color:var(--text-muted);
	border:1px solid transparent;
	transition:all .2s var(--ease);
	font-variant-numeric:tabular-nums;
}
.pagination__item .page-numbers:hover{
	color:var(--text);
	border-color:var(--hairline-strong);
}
.pagination__item .current{
	color:var(--ink);
	border-color:var(--ink);
}

/* ==========================================================================
   Categories grid (homepage)
   ========================================================================== */

.categories-grid{padding:var(--space-3) 0 var(--space-7)}
.category-list{
	list-style:none;margin:0;padding:0;
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
	gap:0;
	border-top:1px solid var(--hairline);
}
.category-list li{border-bottom:1px solid var(--hairline)}
.category-list a{
	display:flex;justify-content:space-between;align-items:baseline;
	padding:var(--space-4) var(--space-3);
	color:var(--text);
	transition:background .2s var(--ease),color .2s var(--ease);
}
.category-list a:hover{
	background:var(--surface);
	color:var(--accent);
}
.category-list__name{
	font-family:var(--font-serif);
	font-size:1.05rem;
}
.category-list__count{
	color:var(--text-soft);
	font-size:.78rem;
	letter-spacing:.05em;
	font-variant-numeric:tabular-nums;
}

/* ==========================================================================
   Footer
   ========================================================================== */

.site-footer{
	margin-top:var(--space-8);
	padding:var(--space-7) 0 var(--space-5);
	border-top:1px solid var(--hairline);
	background:var(--bg);
}
.footer-widgets{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
	gap:var(--space-5);
	padding-bottom:var(--space-6);
}
.footer-widgets .widget-title{
	font-size:.78rem;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--text-soft);
	margin:0 0 var(--space-3);
	font-family:var(--font-sans);
	font-weight:600;
}
.footer-disclosure{
	border-top:1px solid var(--hairline);
	padding:var(--space-4) 0;
	color:var(--text-muted);
	max-width:80ch;
}
.footer-bottom{
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-3) var(--space-5);
	padding-top:var(--space-4);
	border-top:1px solid var(--hairline);
	color:var(--text-muted);
	font-size:.85rem;
	align-items:center;
}
.footer-nav__list{
	list-style:none;margin:0;padding:0;
	display:flex;flex-wrap:wrap;
	gap:var(--space-3);
}
.footer-nav a{color:var(--text-muted)}
.footer-nav a:hover{color:var(--text)}
.footer-social{margin-left:auto}
.footer-social a{
	color:var(--text-muted);
	border-bottom:1px solid transparent;
	transition:all .2s var(--ease);
}
.footer-social a:hover{color:var(--text);border-bottom-color:var(--hairline-strong)}
.footer-credits{flex:1 1 100%;color:var(--text-soft);font-size:.78rem}

/* ==========================================================================
   404
   ========================================================================== */

.error-404{
	padding:var(--space-7) 0 var(--space-7);
	text-align:center;
}
.error-404__code{
	font-family:var(--font-serif);
	font-size:6rem;font-weight:400;
	margin:0;color:var(--accent);
	letter-spacing:-.04em;line-height:1;
}
.error-404__title{
	font-size:1.8rem;font-weight:400;
	margin:var(--space-3) 0 var(--space-3);
}
.error-404__text{color:var(--text-muted);max-width:50ch;margin:0 auto var(--space-5)}
.error-404 .search-form{max-width:480px;margin:0 auto var(--space-7)}
.error-404__suggestions{text-align:left;border-top:1px solid var(--hairline);padding-top:var(--space-5)}

/* ==========================================================================
   Comments
   ========================================================================== */

.comments-area{
	margin-top:var(--space-6);
	padding-top:var(--space-5);
	border-top:1px solid var(--hairline);
}
.comments-title{font-size:1.3rem;font-weight:400;margin:0 0 var(--space-4)}
.comment-list{list-style:none;margin:0;padding:0}
.comment-list li{padding:var(--space-4) 0;border-bottom:1px solid var(--hairline)}
.comment-meta{font-size:.85rem;color:var(--text-muted);margin-bottom:var(--space-2)}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
	width:100%;
	background:transparent;
	border:0;border-bottom:1px solid var(--hairline-strong);
	padding:var(--space-2) 0;
	font:inherit;
	transition:border-color .2s var(--ease);
}
.comment-form input:focus,.comment-form textarea:focus{outline:0;border-bottom-color:var(--text)}
.comment-form .submit{
	background:var(--btn-bg);color:var(--btn-fg);
	border:0;padding:.7rem 1.5rem;
	font-size:.95rem;
	cursor:pointer;
	transition:opacity .2s var(--ease);
	margin-top:var(--space-3);
	border-radius:var(--radius);
}
.comment-form .submit:hover{opacity:.85}

.no-results,.search-empty{
	text-align:center;
	padding:var(--space-7) 0;
}
.no-results__title{font-size:1.4rem;font-weight:400}
.no-results .search-form{max-width:480px;margin:var(--space-5) auto 0}

/* ==========================================================================
   Print
   ========================================================================== */

@media print{
	.site-header,.site-footer,.deal-cta,.related-deals,.deal-summary,
	.nav-toggle,.search-toggle,.pagination,.breadcrumbs{display:none !important}
	body{background:#fff;color:#000}
}

/* ==========================================================================
   Reduced motion
   ========================================================================== */

@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{
		animation-duration:.01ms !important;
		animation-iteration-count:1 !important;
		transition-duration:.01ms !important;
		scroll-behavior:auto !important;
	}
}

/* ==========================================================================
   Focus styles - accessible & on-brand
   ========================================================================== */

a:focus-visible,button:focus-visible,
input:focus-visible,textarea:focus-visible,select:focus-visible{
	outline:2px solid var(--accent);
	outline-offset:3px;
}
