/*
Theme Name: ICT Romania Customify
Theme URI: https://ictgroup.ro
Description: ICT Romania arculat a Customify szerkeszthető fejléc- és láblécépítőjére építve.
Author: ICT Romania
Template: customify
Version: 1.0.2
Text Domain: ict-customify
*/

:root {
	--ict-ink: #111111;
	--ict-ink-soft: #242424;
	--ict-paper: #f3f3f1;
	--ict-white: #ffffff;
	--ict-line: #ddddda;
	--ict-accent: #ed3439;
	--ict-accent-dark: #c92328;
	--ict-muted: #6f6f6b;
	--ict-container: 1240px;
}

html { scroll-behavior: smooth; }
body { background: var(--ict-paper); color: var(--ict-ink); font-family: "Montserrat", Arial, sans-serif; font-size: 14px; line-height: 1.7; }
a { color: inherit; }
.ict-container { margin-inline: auto; max-width: var(--ict-container); padding-inline: 32px; width: 100%; }

/* Customify remains responsible for the structure; the child theme supplies the ICT skin. */
#masthead { background: var(--ict-white); border: 0; position: relative; z-index: 50; }
#cb-row--header-top .header--row-inner { background: var(--ict-ink); border: 0; color: #c9c9c4; min-height: 36px; }
#cb-row--header-top .customify-container,
#cb-row--header-main .customify-container { max-width: var(--ict-container); padding-inline: 32px; }
.builder-header-html-item,
.ict-language-switcher { font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.builder-header-html-item p { margin: 0; }
.ict-language-switcher { align-items: center; display: flex; gap: 8px; }
.ict-language-switcher a { color: #d7d7d2; text-decoration: none; }
.ict-language-switcher a[aria-current="page"],
.ict-language-switcher a:hover { color: var(--ict-accent); }
#cb-row--header-main .header--row-inner { background: var(--ict-white); border-bottom: 1px solid var(--ict-line); min-height: 86px; }
.site-branding .site-title { font-size: 25px; font-weight: 800; letter-spacing: -.055em; line-height: 1; text-transform: uppercase; }
.site-branding .site-title a::first-letter { color: var(--ict-accent); }
.builder-item--primary-menu { margin-left: 36px; }
.nav-menu-desktop .primary-menu-ul > li > a { color: var(--ict-ink); font-size: 10px; font-weight: 700; letter-spacing: .1em; padding-inline: 16px; text-transform: uppercase; }
.nav-menu-desktop .primary-menu-ul > li > a:hover,
.nav-menu-desktop .primary-menu-ul > li.current-menu-item > a { color: var(--ict-accent); }
.nav-menu-desktop .sub-menu { border-top: 3px solid var(--ict-accent); box-shadow: 0 18px 40px rgb(0 0 0 / 12%); }
.builder-item--search_icon { color: var(--ict-ink); }
.customify-builder-btn.item--button { background: var(--ict-accent); border: 0; border-radius: 0; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .1em; padding: 14px 22px; text-transform: uppercase; }
.customify-builder-btn.item--button:hover { background: var(--ict-accent-dark); color: #fff; }

/* Full-width editable Gutenberg homepage. */
.home #site-content > .customify-container,
.home #site-content > .customify-container > .customify-grid,
.home #main { margin: 0; max-width: none; padding: 0; width: 100%; }
.home .entry-content { margin: 0; }
.home #page-breadcrumb { display: none; }
.home .entry-content > * { margin-block: 0; }
.ict-section { padding-block: 96px; }
.ict-section-label { color: var(--ict-accent); font-size: 10px; font-weight: 800; letter-spacing: .2em; margin: 0 0 16px; text-transform: uppercase; }
.ict-display-heading { font-size: clamp(38px, 5vw, 68px); font-weight: 800; letter-spacing: -.045em; line-height: .96; margin: 0; text-transform: uppercase; }
.ict-display-heading strong { color: var(--ict-accent); font-weight: inherit; }
.ict-section-copy { color: var(--ict-muted); font-size: 15px; max-width: 650px; }

.ict-hero { background: var(--ict-ink); color: #fff; min-height: 590px; overflow: hidden; position: relative; }
.ict-hero::before,
.ict-hero::after { border: 1px solid rgb(255 255 255 / 9%); border-radius: 50%; content: ""; height: 640px; position: absolute; right: -80px; top: -100px; width: 640px; }
.ict-hero::after { height: 430px; right: 45px; top: 5px; width: 430px; }
.ict-hero > .wp-block-group__inner-container { margin-inline: auto; max-width: var(--ict-container); padding-inline: 32px; position: relative; width: 100%; z-index: 1; }
.ict-hero > .wp-block-columns { margin-inline: auto; max-width: var(--ict-container); padding-inline: 32px; position: relative; width: 100%; z-index: 1; }
.ict-hero .wp-block-columns { align-items: center !important; margin: 0; min-height: 590px; }
.ict-hero .wp-block-column:first-child { padding-block: 70px; }
.ict-hero .ict-display-heading { font-size: clamp(48px, 6.4vw, 88px); max-width: 720px; }
.ict-hero .ict-section-copy { color: #c3c3bd; margin-top: 28px; max-width: 500px; }
.ict-hero-visual { align-items: center; display: flex; justify-content: center; min-height: 500px; position: relative; }
.ict-hero-visual::before { color: rgb(255 255 255 / 5%); content: "ICT"; font-size: 150px; font-weight: 800; letter-spacing: -.12em; position: absolute; right: -20px; top: 100px; transform: rotate(-90deg); }
.ict-hero-visual img { filter: drop-shadow(35px 35px 0 rgb(0 0 0 / 35%)); max-height: 390px; object-fit: contain; position: relative; transform: rotate(-4deg); width: auto; z-index: 2; }
.ict-button .wp-block-button__link,
.ict-button-link { background: var(--ict-accent); border-radius: 0; color: #fff; display: inline-flex; font-size: 10px; font-weight: 800; letter-spacing: .1em; padding: 15px 22px; text-decoration: none; text-transform: uppercase; }
.ict-customify .ict-button .wp-block-button__link { background: var(--ict-accent); border: 0; border-radius: 0; color: #fff; }
.ict-button .wp-block-button__link:hover,
.ict-button-link:hover { background: var(--ict-accent-dark); color: #fff; }

.ict-intro { background: var(--ict-white); }
.ict-intro .wp-block-columns { gap: 70px; margin-bottom: 0; }
.ict-intro .ict-section-copy p:first-child { margin-top: 0; }
.ict-text-link { border-bottom: 1px solid var(--ict-accent); color: var(--ict-ink) !important; display: inline-block; font-size: 10px; font-weight: 800; letter-spacing: .09em; padding-bottom: 3px; text-decoration: none; text-transform: uppercase; }

.ict-products-section { background: var(--ict-paper); }
.ict-section-head { align-items: end; display: flex; gap: 50px; justify-content: space-between; margin-bottom: 45px; }
.ict-section-head > *:last-child { max-width: 360px; }
.ict-category-grid { display: grid; gap: 14px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ict-category-card { background: var(--ict-white); border-bottom: 3px solid transparent; color: var(--ict-ink); display: block; min-height: 260px; padding: 27px 23px; position: relative; text-decoration: none; transition: .22s ease; }
.ict-category-card:hover { border-bottom-color: var(--ict-accent); box-shadow: 0 15px 36px rgb(0 0 0 / 8%); color: var(--ict-ink); transform: translateY(-5px); }
.ict-category-number { color: #b6b6b1; display: block; font-size: 20px; font-weight: 700; }
.ict-category-icon { color: var(--ict-accent); display: block; font-size: 32px; margin: 30px 0 18px; }
.ict-category-card h3 { font-size: 16px; font-weight: 800; line-height: 1.15; margin: 0 0 12px; text-transform: uppercase; }
.ict-category-card p { color: var(--ict-muted); font-size: 12px; margin: 0; }
.ict-category-arrow { bottom: 18px; color: var(--ict-accent); font-size: 20px; position: absolute; right: 20px; }

.ict-solutions { background: var(--ict-ink); color: #fff; }
.ict-solutions .ict-section-copy { color: #aaa; }
.ict-solution-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 45px; }
.ict-solution-card { background: var(--ict-ink-soft); min-height: 230px; padding: 34px; }
.ict-solution-card span { color: var(--ict-accent); font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.ict-solution-card h3 { font-size: 23px; line-height: 1.1; margin: 55px 0 15px; text-transform: uppercase; }
.ict-solution-card p { color: #aaa; margin: 0; }

.ict-featured-products { background: var(--ict-white); }
.ict-product-grid,
.product-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ict-product-card,
.catalog-card { background: var(--ict-paper); border-bottom: 3px solid transparent; display: flex; flex-direction: column; transition: .22s ease; }
.ict-product-card:hover,
.catalog-card:hover { border-bottom-color: var(--ict-accent); box-shadow: 0 16px 36px rgb(0 0 0 / 9%); transform: translateY(-4px); }
.ict-product-card__image,
.catalog-card__image { align-items: center; aspect-ratio: 1 / 1; background: #fff; display: flex; justify-content: center; overflow: hidden; padding: 22px; }
.ict-product-card__image img,
.catalog-card__image img { height: 100%; object-fit: contain; width: 100%; }
.ict-product-card__body,
.catalog-card__body { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.ict-product-card__sku,
.catalog-card__sku { color: var(--ict-accent); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ict-product-card h3,
.catalog-card h2 { font-size: 18px; font-weight: 800; line-height: 1.15; margin: 10px 0 12px; text-transform: uppercase; }
.ict-product-card h3 a,
.catalog-card h2 a { color: var(--ict-ink); text-decoration: none; }
.ict-product-card p,
.catalog-card p { color: var(--ict-muted); font-size: 12px; margin: 0 0 18px; }
.ict-product-card .ict-text-link,
.catalog-card .ict-text-link { margin-top: auto; width: max-content; }

.ict-contact-band { background: var(--ict-accent); color: #fff; padding-block: 60px; }
.ict-contact-band .ict-container { align-items: center; display: flex; justify-content: space-between; }
.ict-contact-band .ict-display-heading { font-size: clamp(36px, 4vw, 58px); }
.ict-contact-band .ict-display-heading strong { color: var(--ict-ink); }
.ict-contact-band .ict-button .wp-block-button__link { background: var(--ict-ink); }

/* Product archive and detail templates keep their tailored catalogue UI. */
.post-type-archive-product #site-content > .customify-container,
.tax-product_cat #site-content > .customify-container,
.single-product #site-content > .customify-container { max-width: none; padding: 0; }
.post-type-archive-product #main,
.tax-product_cat #main,
.single-product #main { width: 100%; }
.product-archive { padding: 70px 0 100px; }
.product-archive__header { margin-bottom: 42px; max-width: 850px; }
.product-archive__header h1 { font-size: clamp(42px, 6vw, 76px); font-weight: 800; letter-spacing: -.04em; line-height: .95; margin: 10px 0 18px; text-transform: uppercase; }
.product-detail { padding: 38px 0 100px; }
.product-breadcrumb { color: var(--ict-muted); display: flex; flex-wrap: wrap; font-size: 10px; gap: 9px; letter-spacing: .06em; margin-bottom: 28px; text-transform: uppercase; }
.product-detail__hero { background: var(--ict-white); display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.product-detail__visual { align-items: center; display: flex; justify-content: center; min-height: 540px; padding: 55px; }
.product-detail__visual img { max-height: 450px; object-fit: contain; width: auto; }
.product-detail__intro { align-items: flex-start; background: var(--ict-ink); color: #fff; display: flex; flex-direction: column; justify-content: center; padding: 64px; }
.product-detail__intro h1 { font-size: clamp(38px, 4.5vw, 64px); font-weight: 800; letter-spacing: -.04em; line-height: .96; margin: 10px 0 26px; text-transform: uppercase; }
.product-detail__excerpt { color: #bcbcbc; font-size: 15px; }
.product-detail__actions { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 18px; }
.product-detail__content { background: var(--ict-white); margin: 22px auto 0; max-width: 940px; padding: 70px; }

/* Customify footer stays editable in the builder and widgets. */
#site-footer .footer--row-inner { background: var(--ict-ink); border: 0; color: #aaa; }
#site-footer .customify-container { max-width: var(--ict-container); padding-inline: 32px; }
#site-footer .widget-title { color: #fff; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
#site-footer a { color: #deded9; }
#site-footer a:hover { color: var(--ict-accent); }
.builder-footer-copyright-item { font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }

@media (max-width: 1024px) {
	.ict-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ict-product-grid, .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nav-menu-desktop .primary-menu-ul > li > a { padding-inline: 10px; }
}

@media (max-width: 780px) {
	.ict-container,
	.ict-hero > .wp-block-group__inner-container,
	.ict-hero > .wp-block-columns,
	#cb-row--header-top .customify-container,
	#cb-row--header-main .customify-container,
	#site-footer .customify-container { padding-inline: 20px; }
	#cb-row--header-top { display: none; }
	.builder-item--primary-menu { margin-left: 0; }
	.ict-section { padding-block: 64px; }
	.ict-hero,
	.ict-hero .wp-block-columns { min-height: 620px; }
	.ict-hero .wp-block-columns { display: block; }
	.ict-hero .wp-block-column:first-child { padding-block: 85px 20px; }
	.ict-hero-visual { display: none; }
	.ict-intro .wp-block-columns { display: block; }
	.ict-section-head { align-items: flex-start; display: block; }
	.ict-section-head > *:last-child { margin-top: 22px; }
	.ict-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ict-solution-grid { grid-template-columns: 1fr; }
	.ict-product-grid, .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ict-contact-band .ict-container { align-items: flex-start; display: block; }
	.ict-contact-band .ict-button { margin-top: 28px; }
	.product-detail__hero { grid-template-columns: 1fr; }
	.product-detail__visual { min-height: 340px; padding: 30px; }
	.product-detail__intro { padding: 38px 24px; }
	.product-detail__content { padding: 40px 22px; }
}

@media (max-width: 480px) {
	.ict-category-grid,
	.ict-product-grid,
	.product-grid { grid-template-columns: 1fr; }
	.ict-category-card { min-height: 220px; }
}
