/*
Theme Name: Blas D. Laider
Theme URI: https://example.com
Author: Blas D. Laider
Author URI: https://example.com
Description: Egyedi WordPress block theme (FSE) Blas D. Laider író oldalához. Blogszerű főoldal oldalsávval (bejelentkezés, hozzászólások, címkefelhő), "Könyveim" értékesítési oldal, egyszerű "Kihívások" oldal és spamvédett kapcsolat űrlap.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: blaslaider
Tags: blog, block-patterns, custom-colors, custom-menu, editor-style, featured-images, full-site-editing, block-styles, translation-ready
*/

/* ----------------------------------------------------------------
   A szín- és tipográfiai alapokat a theme.json adja. Ez a fájl a
   header/footer/sidebar/kártya elemekhez ad apró kiegészítéseket,
   amiket a core blokkok önmagukban nem tudnak.
   ------------------------------------------------------------------- */

/* ---------- Fejléc ---------- */
.im-brand{
	display:flex;
	align-items:center;
	gap:0.75rem;
}
.im-brand .wp-block-site-logo{ margin:0; }
.im-brand .wp-block-site-logo img,
.im-brand .custom-logo{
	display:block;
	width:44px;
	height:44px;
	object-fit:contain;
	border-radius:8px;
}
.im-brand .wp-block-site-title{ margin:0; }
.im-brand .wp-block-site-title a{ text-decoration:none; }
.im-brand-name{
	font-family:var(--wp--preset--font-family--heading);
	font-weight:700;
	font-size:1.35rem;
	color:var(--wp--preset--color--turquoise-pale);
	text-decoration:none;
}
.im-brand-name:hover{ color:var(--wp--preset--color--turquoise-pale); }

.im-social-icons{
	display:flex;
	align-items:center;
	gap:0.9rem;
}
.im-social-icons a{
	display:flex;
	align-items:center;
	justify-content:center;
	width:36px;
	height:36px;
	color:var(--wp--preset--color--turquoise-pale);
	opacity:0.85;
	transition:opacity 0.15s ease, transform 0.15s ease;
}
.im-social-icons a:hover{
	opacity:1;
	transform:translateY(-1px);
}
.im-social-icons svg{ width:20px; height:20px; fill:currentColor; }

.im-search-form.wp-block-search{
	--wp--custom-search-height: 40px;
}
.im-search-form .wp-block-search__inside-wrapper{
	border:1px solid rgba(215,238,240,0.35) !important;
	background:rgba(215,238,240,0.1);
	overflow:hidden;
}
.im-search-form .wp-block-search__input{
	font-family:var(--wp--preset--font-family--body);
	font-size:0.95rem;
	padding:0.5em 1.1em;
	background:transparent;
	color:var(--wp--preset--color--turquoise-pale);
	border:none;
	min-width:150px;
}
.im-search-form .wp-block-search__input::placeholder{ color:rgba(215,238,240,0.65); }
.im-search-form .wp-block-search__input:focus{ outline:none; }
.im-search-form .wp-block-search__button{
	background:transparent;
	border:none;
	color:var(--wp--preset--color--turquoise-pale);
	fill:var(--wp--preset--color--turquoise-pale);
	padding:0 0.9em;
}
.im-search-form .wp-block-search__button:hover{ color:var(--wp--preset--color--turquoise-light); }

/* ---------- Fő menü ---------- */
.im-main-nav .wp-block-navigation-item__content{
	color:var(--wp--preset--color--turquoise-pale);
	font-family:var(--wp--preset--font-family--heading);
	font-weight:600;
	padding:0.5em 0.9em;
}
.im-main-nav .wp-block-navigation-item__content:hover{
	color:#fff;
}
.im-main-nav .wp-block-navigation__responsive-container-open svg{
	fill:var(--wp--preset--color--turquoise-pale);
}

/* ---------- Blog rács + kártyák ---------- */
.im-post-card{
	background:var(--wp--preset--color--turquoise-pale);
	border-radius:18px;
	overflow:hidden;
	border:1pt solid #000;
	box-shadow:0 10px 26px rgba(11,95,104,0.25);
}
.im-square-thumb{
	position:relative;
	width:100%;
	aspect-ratio:1/1;
	overflow:hidden;
	background:var(--wp--preset--color--turquoise-deep);
}
.im-square-thumb img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}

/* A Query Loop "grid" elrendezése rögzített oszlopszámmal jelenik meg
   a WP core-ban, nincs beépített mobil-nézetbeli összecsukása — ezért
   írjuk felül itt kézzel, hogy a kártyák ne szoruljanak össze kis
   képernyőn. */
@media (max-width: 900px){
	.im-post-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px){
	.im-post-grid{ grid-template-columns: minmax(0, 1fr) !important; }
}

/* ---------- Oldalsáv widgetek ---------- */
.im-widget{
	background:var(--wp--preset--color--turquoise-pale);
	border-radius:16px;
	padding:1.5rem;
}
.im-widget + .im-widget{
	margin-top:1.5rem;
}
.im-widget h3{
	font-size:1.05rem;
	margin-bottom:0.85rem;
	color:var(--wp--preset--color--ink);
}
.wp-block-loginout a{
	display:inline-flex;
	align-items:center;
	font-family:var(--wp--preset--font-family--heading);
	font-weight:600;
	color:var(--wp--preset--color--green);
	text-decoration:none;
}
.wp-block-loginout a:hover{ color:var(--wp--preset--color--green-dark); }
.wp-block-latest-comments{ margin:0; padding:0; list-style:none; }
.wp-block-latest-comments__comment{ margin-bottom:0.9rem; font-size:0.92rem; }
.wp-block-tag-cloud a{
	color:var(--wp--preset--color--ink-soft);
}
.wp-block-tag-cloud a:hover{ color:var(--wp--preset--color--green); }

.wp-block-calendar table{
	width:100%;
	border-collapse:collapse;
	font-size:0.9rem;
	color:var(--wp--preset--color--ink);
}
.wp-block-calendar caption{
	font-family:var(--wp--preset--font-family--heading);
	font-weight:600;
	text-align:left;
	margin-bottom:0.6rem;
	color:var(--wp--preset--color--ink);
}
.wp-block-calendar th{
	font-weight:600;
	opacity:0.6;
	padding:0.4rem 0.2rem;
}
.wp-block-calendar td{
	text-align:center;
	padding:0.4rem 0.2rem;
}
.wp-block-calendar tbody td#today{
	background:var(--wp--preset--color--green);
	border-radius:6px;
}
.wp-block-calendar tbody td#today a{ color:#fff; }
.wp-block-calendar a{ color:var(--wp--preset--color--green); }
.wp-block-calendar a:hover{ color:var(--wp--preset--color--green-dark); }
.wp-block-calendar tfoot a{ font-size:0.85rem; }

/* ---------- Lábléc ---------- */
.im-kofi-button{
	display:inline-flex;
	align-items:center;
	gap:0.6rem;
	background:var(--wp--preset--color--green);
	color:#fff !important;
	text-decoration:none;
	font-family:var(--wp--preset--font-family--heading);
	font-weight:600;
	padding:0.75em 1.6em;
	border-radius:999px;
	transition:background 0.15s ease, transform 0.15s ease;
}
.im-kofi-button:hover{
	background:var(--wp--preset--color--green-dark);
	transform:translateY(-1px);
}
.im-kofi-button svg{ width:18px; height:18px; fill:currentColor; }

/* ---------- Kapcsolat űrlap ---------- */
.im-contact-form{
	max-width:640px;
}
.im-contact-form .im-field{ margin-bottom:1.25rem; }
.im-contact-form label{
	display:block;
	font-family:var(--wp--preset--font-family--heading);
	font-weight:600;
	margin-bottom:0.4em;
	color:var(--wp--preset--color--ink);
}
.im-contact-form input[type="text"],
.im-contact-form input[type="email"],
.im-contact-form textarea{
	width:100%;
	font-family:var(--wp--preset--font-family--body);
	font-size:1rem;
	padding:0.75em 1em;
	border:1px solid rgba(20,37,35,0.18);
	border-radius:10px;
	background:#fff;
	color:var(--wp--preset--color--ink);
	box-sizing:border-box;
}
.im-contact-form input:focus,
.im-contact-form textarea:focus{
	outline:2px solid var(--wp--preset--color--green);
	outline-offset:1px;
}
.im-contact-form textarea{ min-height:160px; resize:vertical; }
.im-contact-form button[type="submit"]{
	font-family:var(--wp--preset--font-family--heading);
	font-weight:600;
	font-size:1rem;
	padding:0.8em 2em;
	border:none;
	border-radius:999px;
	background:var(--wp--preset--color--green);
	color:#fff;
	cursor:pointer;
}
.im-contact-form button[type="submit"]:hover{ background:var(--wp--preset--color--green-dark); }
.im-form-message{
	padding:1em 1.25em;
	border-radius:10px;
	margin-bottom:1.5rem;
	font-family:var(--wp--preset--font-family--body);
}
.im-form-message.is-success{ background:#e7f3ea; color:#234d2c; border:1px solid #bfe0c8; }
.im-form-message.is-error{ background:#fbe9e7; color:#6b2320; border:1px solid #f0c3bd; }
.im-hp-field{
	position:absolute !important;
	left:-9999px !important;
	top:-9999px !important;
}

/* ---------- Reszponzív fejléc ---------- */
@media (max-width: 780px){
	.im-header-row{ flex-wrap:wrap; row-gap:1rem; }
	.im-search-form input[type="search"]{ min-width:0; width:100%; }
}
