/*
Theme Name: FAZ Events
Theme URI: https://fazevents.in
Author: Digiknots
Author URI: https://digiknots.com
Description: Custom block theme (Gutenberg / Full Site Editing) for FAZ Events — corporate event management. Dark "Noir & Gold" design with ready-made patterns for every page.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: Proprietary — built for FAZ Events by Digiknots
Text Domain: faz-events
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
h1 em, h2 em, h3 em, .faz-gold { color: var(--wp--preset--color--gold); }
::selection { background: var(--wp--preset--color--gold); color: #000; }
.wp-site-blocks > * + * { margin-block-start: 0; }
main.wp-block-group { margin-top: 0; }
.is-layout-constrained > .alignfull { margin-top: 0; margin-bottom: 0; }
.entry-content > * + .alignfull, .wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0 !important; }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--gold); border: 1px solid var(--wp--preset--color--gold);
	padding: 15px 30px;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--gold); color: #0d0d0d; }
.wp-block-button__link { transition: background .2s, color .2s; white-space: nowrap; }

/* ---------- Eyebrow label ---------- */
.faz-eyebrow {
	font-size: 12px !important; letter-spacing: .32em; text-transform: uppercase; color: var(--wp--preset--color--gold);
	display: flex; align-items: center; gap: 14px; margin-bottom: 0;
}
.faz-eyebrow::before { content: ""; width: 40px; height: 1px; background: currentColor; flex: none; }
.faz-eyebrow.has-text-align-center { justify-content: center; }
.faz-eyebrow.has-text-align-center::after { content: ""; width: 40px; height: 1px; background: currentColor; flex: none; }
.faz-eyebrow + h1, .faz-eyebrow + h2 { margin-top: 18px; }

.faz-lead { color: #b9b3a6; font-size: 16.5px; }
.faz-muted { color: var(--wp--preset--color--muted); }
.faz-narrow { max-width: 720px; margin-left: auto !important; margin-right: auto !important; }

/* ---------- Icons (set by class: ico-<name>) ---------- */
.has-icon::before, .has-iconbox::before, .faz-i::before {
	content: ""; display: block; background-repeat: no-repeat; background-position: center; background-size: contain;
}
.has-icon::before { width: 40px; height: 40px; margin-bottom: 4px; }
.has-iconbox::before {
	width: 64px; height: 64px; flex: none; border: 1px solid var(--wp--preset--color--gold);
	background-size: 30px; margin-bottom: 4px;
}
.faz-i { display: inline-block !important; position: relative; padding-left: 23px; }
.faz-i::before { width: 15px; height: 15px; position: absolute; left: 0; top: .3em; }
.ico-arrow::before{background-image:url(assets/icons/arrow.svg)}
.ico-award::before{background-image:url(assets/icons/award.svg)}
.ico-board::before{background-image:url(assets/icons/board.svg)}
.ico-booth::before{background-image:url(assets/icons/booth.svg)}
.ico-brand::before{background-image:url(assets/icons/brand.svg)}
.ico-cake::before{background-image:url(assets/icons/cake.svg)}
.ico-camera::before{background-image:url(assets/icons/camera.svg)}
.ico-chair::before{background-image:url(assets/icons/chair.svg)}
.ico-check::before{background-image:url(assets/icons/check.svg)}
.ico-clock::before{background-image:url(assets/icons/clock.svg)}
.ico-conference::before{background-image:url(assets/icons/conference.svg)}
.ico-eye::before{background-image:url(assets/icons/eye.svg)}
.ico-factory::before{background-image:url(assets/icons/factory.svg)}
.ico-flower::before{background-image:url(assets/icons/flower.svg)}
.ico-food::before{background-image:url(assets/icons/food.svg)}
.ico-glass::before{background-image:url(assets/icons/glass.svg)}
.ico-handshake::before{background-image:url(assets/icons/handshake.svg)}
.ico-heart::before{background-image:url(assets/icons/heart.svg)}
.ico-lamp::before{background-image:url(assets/icons/lamp.svg)}
.ico-light::before{background-image:url(assets/icons/light.svg)}
.ico-mail::before{background-image:url(assets/icons/mail.svg)}
.ico-menu::before{background-image:url(assets/icons/menu.svg)}
.ico-mic::before{background-image:url(assets/icons/mic.svg)}
.ico-music::before{background-image:url(assets/icons/music.svg)}
.ico-phone::before{background-image:url(assets/icons/phone.svg)}
.ico-pin::before{background-image:url(assets/icons/pin.svg)}
.ico-play::before{background-image:url(assets/icons/play.svg)}
.ico-ribbon::before{background-image:url(assets/icons/ribbon.svg)}
.ico-ring::before{background-image:url(assets/icons/ring.svg)}
.ico-rocket::before{background-image:url(assets/icons/rocket.svg)}
.ico-screen::before{background-image:url(assets/icons/screen.svg)}
.ico-shield::before{background-image:url(assets/icons/shield.svg)}
.ico-speaker::before{background-image:url(assets/icons/speaker.svg)}
.ico-stage::before{background-image:url(assets/icons/stage.svg)}
.ico-star::before{background-image:url(assets/icons/star.svg)}
.ico-tree::before{background-image:url(assets/icons/tree.svg)}
.ico-users::before{background-image:url(assets/icons/users.svg)}
.ico-video::before{background-image:url(assets/icons/video.svg)}
.ico-wa::before{background-image:url(assets/icons/wa.svg)}

/* ---------- Header ---------- */
.faz-topbar { font-size: 12px; letter-spacing: .06em; color: #9a958a; border-bottom: 1px solid var(--wp--preset--color--line); }
.faz-topbar p { margin: 0; }
.faz-header { position: sticky; top: 0; z-index: 50; background: rgba(13,13,13,.94); backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--wp--preset--color--line); }
.admin-bar .faz-header { top: 32px; }
.faz-header .wp-block-site-logo img { height: auto; }
.faz-header .wp-block-navigation-item__content { padding: 6px 0; border-bottom: 1px solid transparent; }
.faz-header .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.faz-header .wp-block-navigation-item__content[aria-current="page"],
.faz-header .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--gold); border-bottom-color: var(--wp--preset--color--gold); }
.wp-block-navigation__responsive-container.is-menu-open { background: #0d0d0d !important; color: #fff !important; padding: 32px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 18px; }

/* ---------- Hero ---------- */
.faz-hero h1 { max-width: 820px; }
.faz-hero .faz-lead { max-width: 600px; color: #cfc8b8; font-size: 18px; }
.faz-pagehero h1 { margin-top: 14px; margin-bottom: 8px; }
.faz-crumb { font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: #9a958a; }
.faz-crumb a { color: #9a958a; } .faz-crumb strong { color: var(--wp--preset--color--gold); font-weight: 500; }

/* ---------- Stats strip ---------- */
.faz-stats { border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); }
.faz-stats > .wp-block-columns { gap: 0 !important; }
.faz-stats .wp-block-column { padding: 38px 30px; border-right: 1px solid var(--wp--preset--color--line); }
.faz-stats .wp-block-column:last-child { border-right: 0; }
.faz-stat-num { font-family: var(--wp--preset--font-family--heading); font-size: 44px !important; line-height: 1 !important;
	color: var(--wp--preset--color--gold); margin: 0 0 8px; }
.faz-stat-label { font-size: 12px !important; letter-spacing: .12em; text-transform: uppercase; color: #9a958a; margin: 0; }

/* ---------- Cards ---------- */
.faz-card { background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--line);
	padding: 38px 32px; height: 100%; transition: border-color .25s, transform .25s; }
.faz-card:hover { border-color: rgba(201,162,74,.6); transform: translateY(-3px); }
.faz-card h3 { margin-top: 18px; margin-bottom: 10px; }
.faz-card p { color: var(--wp--preset--color--muted); font-size: 14px; margin: 0; }
.faz-card .faz-more { margin-top: 20px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
.faz-card .faz-more a { color: var(--wp--preset--color--gold); }
.faz-card.is-row { display: flex; gap: 26px; align-items: flex-start; padding: 34px; }
.faz-card.is-row h3 { margin-top: 0; margin-bottom: 8px; }
.faz-card.is-center { text-align: center; } .faz-card.is-center::before { margin-left: auto; margin-right: auto; }
.faz-card.is-media { padding: 0; overflow: hidden; }
.faz-card.is-media .wp-block-image { margin: 0; }
.faz-card.is-media .wp-block-image img { width: 100%; height: 230px; object-fit: cover; display: block; }
.faz-card.is-media .faz-card-body { padding: 30px; }
.faz-card.is-media .faz-card-body::before { margin-bottom: 4px; }

/* ---------- Image frame ---------- */
.faz-frame { position: relative; margin: 18px 0 0 18px !important; }
.faz-frame::before { content: ""; position: absolute; inset: -18px 18px 18px -18px; border: 1px solid var(--wp--preset--color--gold); z-index: 0; }
.faz-frame img { position: relative; z-index: 1; width: 100%; object-fit: cover; display: block; }
.faz-cover-img img { width: 100%; object-fit: cover; display: block; }

/* ---------- Ticks list ---------- */
.faz-ticks { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 30px; }
.faz-ticks li { display: flex; gap: 12px; align-items: center; font-size: 14.5px; }
.faz-ticks li::before { content: ""; width: 20px; height: 20px; flex: none; background: url(assets/icons/check.svg) center/contain no-repeat; }

/* ---------- Event services grid ---------- */
.faz-svc-grid { gap: 0 !important; border-top: 1px solid var(--wp--preset--color--line); border-left: 1px solid var(--wp--preset--color--line); }
.faz-svc-grid > .wp-block-group { border-right: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line);
	padding: 30px 12px; text-align: center; }
.faz-svc-grid > .wp-block-group::before { margin: 0 auto 14px; width: 32px; height: 32px; }
.faz-svc-grid p { font-size: 13px; color: #cfc8b8; margin: 0; }

/* ---------- Process ---------- */
.faz-process { position: relative; }
.faz-process::before { content: ""; position: absolute; top: 34px; left: 8%; right: 8%; height: 1px;
	background: linear-gradient(90deg, transparent, var(--wp--preset--color--gold), transparent); }
.faz-process .wp-block-column { text-align: center; position: relative; }
.faz-step-num { width: 68px; height: 68px; border-radius: 50%; border: 1px solid var(--wp--preset--color--gold); background: var(--wp--preset--color--onyx);
	display: flex; align-items: center; justify-content: center; margin: 0 auto 22px !important; font-family: var(--wp--preset--font-family--heading);
	font-size: 22px !important; color: var(--wp--preset--color--gold); }
.faz-process h4 { margin: 0 0 8px; }
.faz-process p:not(.faz-step-num) { font-size: 13px; color: #9a958a; }

/* ---------- Row list (numbered) ---------- */
.faz-rows { border-top: 1px solid var(--wp--preset--color--line); }
.faz-row { border-bottom: 1px solid var(--wp--preset--color--line); padding: 28px 0; align-items: center !important; }
.faz-row .faz-row-num { font-family: var(--wp--preset--font-family--heading); font-size: 30px !important; color: var(--wp--preset--color--gold); margin: 0; }
.faz-row h3 { margin: 0; font-size: 24px; }
.faz-row p { color: var(--wp--preset--color--muted); margin: 0; }

/* ---------- Info rows (contact) ---------- */
.faz-info { display: flex; gap: 20px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.faz-info::before { width: 56px !important; height: 56px !important; background-size: 24px !important; margin: 0 !important; }
.faz-info p { margin: 0; }
.faz-info .faz-info-label { font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase; color: #9a958a; }
.faz-info .faz-info-value { font-family: var(--wp--preset--font-family--heading); font-size: 22px; color: #fff; }
.faz-info .faz-info-value a { color: #fff; }

/* ---------- Gallery ---------- */
.faz-gallery { gap: 14px !important; }
.faz-gallery .wp-block-image { margin: 0 !important; position: relative; overflow: hidden; }
.faz-gallery .wp-block-image img { width: 100%; height: 260px; object-fit: cover; display: block; transition: transform .5s; }
.faz-gallery .wp-block-image:hover img { transform: scale(1.05); }
.faz-gallery .wp-block-image figcaption { position: absolute; left: 16px; bottom: 14px; margin: 0; font-size: 11px; letter-spacing: .2em;
	text-transform: uppercase; color: #fff; background: rgba(0,0,0,.65); padding: 6px 12px; border-left: 2px solid var(--wp--preset--color--gold); }
.faz-strip { gap: 0 !important; }
.faz-strip .wp-block-image { margin: 0 !important; }
.faz-strip img { width: 100%; height: 300px; object-fit: cover; display: block; }

/* ---------- Testimonial ---------- */
.faz-stars { color: var(--wp--preset--color--gold); letter-spacing: .3em; font-size: 18px; }
.faz-quote { font-family: var(--wp--preset--font-family--heading); font-style: italic; font-size: clamp(24px, 2.6vw, 34px) !important;
	line-height: 1.45; color: #fff; max-width: 900px; margin-left: auto !important; margin-right: auto !important; }
.faz-who { font-size: 12.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--gold); }

/* ---------- CTA ---------- */
.faz-cta-box { border: 1px solid var(--wp--preset--color--gold); background: rgba(0,0,0,.68); padding: clamp(36px, 6vw, 70px) !important; }

/* ---------- Team ---------- */
.faz-team .wp-block-cover { min-height: 380px !important; }
.faz-team h3 { margin: 0; }
.faz-role { font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--gold); margin: 4px 0 0; }

/* ---------- Map ---------- */
.faz-map iframe { width: 100%; height: 400px; border: 1px solid var(--wp--preset--color--line); filter: grayscale(1) invert(.92) contrast(.9); display: block; }

/* ---------- Enquiry form ---------- */
.faz-form { background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--line); padding: clamp(28px, 4vw, 50px); }
.faz-form h3 { font-size: 30px; margin: 0 0 6px; }
.faz-form .faz-form-sub { color: #9a958a; margin: 0 0 28px; }
.faz-form .fg { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.faz-form label { display: flex; flex-direction: column; gap: 8px; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: #9a958a; }
.faz-form .full { grid-column: 1 / -1; }
.faz-form input, .faz-form select, .faz-form textarea {
	font: inherit; font-size: 14px; letter-spacing: 0; text-transform: none; color: #fff; background: #0d0d0d; border: 1px solid #333;
	height: 52px; padding: 0 16px; border-radius: 0; width: 100%; outline: none; }
.faz-form textarea { height: 130px; padding: 14px 16px; resize: vertical; }
.faz-form select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #C9A24A 50%), linear-gradient(135deg, #C9A24A 50%, transparent 50%);
	background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.faz-form input:focus, .faz-form select:focus, .faz-form textarea:focus { border-color: var(--wp--preset--color--gold); }
.faz-form .hp { position: absolute !important; left: -9999px !important; }
.faz-form button { margin-top: 26px; width: 100%; cursor: pointer; background: var(--wp--preset--color--gold); color: #0d0d0d; border: 0;
	padding: 17px; font: 600 12.5px/1 var(--wp--preset--font-family--body); letter-spacing: .14em; text-transform: uppercase; }
.faz-form button:hover { background: var(--wp--preset--color--gold-soft); }
.faz-notice { padding: 16px 20px; margin-bottom: 24px; border: 1px solid; font-size: 14px; }
.faz-notice.ok { border-color: #3c8d5a; color: #9fe0b5; background: rgba(60,141,90,.12); }
.faz-notice.err { border-color: #a14848; color: #f0a7a7; background: rgba(161,72,72,.12); }

/* ---------- Floating WhatsApp ---------- */
.faz-wa { position: fixed; right: 24px; bottom: 24px; width: 58px; height: 58px; border-radius: 50%; background: #25D366; z-index: 99;
	display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(0,0,0,.45); }
.faz-wa svg { width: 30px; height: 30px; }

/* ---------- Footer ---------- */
.faz-footer { font-size: 14px; color: #9a958a; }
.faz-footer h4 { font-size: 19px; margin-bottom: 18px; }
.faz-footer ul { list-style: none; padding: 0; margin: 0; }
.faz-footer li { margin-bottom: 10px; }
.faz-footer a { color: #9a958a; } .faz-footer a:hover { color: var(--wp--preset--color--gold); }
.faz-footer .faz-i { margin: 0 0 12px; }
.faz-footer-bottom { border-top: 1px solid #222; font-size: 12px; letter-spacing: .06em; }
.faz-footer-bottom p { margin: 0; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.faz-hide-tablet { display: none !important; }
}
@media (max-width: 781px) {
	.faz-hide-mobile { display: none !important; }
	.faz-stats .wp-block-column { border-right: 0; border-bottom: 1px solid var(--wp--preset--color--line); padding: 26px 20px; }
	.faz-process::before { display: none; }
	.faz-ticks { grid-template-columns: 1fr; }
	.faz-frame { margin: 14px 0 0 14px !important; }
	.faz-card.is-row { flex-direction: column; gap: 14px; }
	.faz-row { gap: 8px !important; }
	.faz-form .fg { grid-template-columns: 1fr; }
	.faz-strip img { height: 200px; }
	.admin-bar .faz-header { top: 0; }
}

/* ---------- Image heights (class h-<px> on image block) ---------- */
.h-250 img { height: 250px; } .h-300 img { height: 300px; } .h-460 img { height: 460px; }
.h-480 img { height: 480px; } .h-520 img { height: 520px; } .h-560 img { height: 560px; }
[class*="h-"] > img { object-fit: cover; width: 100%; }
@media (max-width: 781px) { .h-460 img, .h-480 img, .h-520 img, .h-560 img { height: 340px; } }
.faz-topbar a { color: inherit; } .faz-topbar a:hover { color: var(--wp--preset--color--gold); }
.faz-footer-logo img { max-width: 230px; height: auto; }
.faz-hero .wp-block-cover__inner-container, .faz-pagehero .wp-block-cover__inner-container { width: 100% !important; }
.faz-pagehero { padding-bottom: 64px !important; }
.faz-footer .faz-i { display: block !important; }
.faz-form, .faz-form * { box-sizing: border-box; }
