/*
Theme Name: Global Imports
Theme URI: https://distglobalimports.com/
Author: Distribuidora Global Imports
Description: Tema de bloques (Full Site Editing) para Distribuidora Global Imports: portada con carrusel, catálogo con filtros, ficha de producto y cotización por WhatsApp. Funciona junto al plugin "Global Imports Catálogo".
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
Version: 1.1.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: global-imports
Tags: full-site-editing, block-patterns, custom-colors, editor-style, accessibility-ready, translation-ready
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--wp--custom--header-height) + 16px); }
body { -webkit-font-smoothing: antialiased; }
img, svg { max-width: 100%; height: auto; }

:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary);
	outline-offset: 2px;
}

.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0; }

/* ---------- Cabecera ---------- */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
	background: var(--wp--preset--color--base);
	box-shadow: 0 1px 0 var(--wp--preset--color--line), 0 4px 14px rgba(27, 58, 107, .06);
}
.gi-header__inner { min-height: var(--wp--custom--header-height); }
.gi-brand .wp-block-site-logo img { width: 56px; height: 56px; object-fit: contain; }
.gi-brand__name { margin: 0; font-size: 1.5625rem; font-weight: 700; line-height: 1; letter-spacing: -.01em; color: var(--wp--preset--color--primary); }
.gi-brand__tag { margin: 0; font-size: .5625rem; font-weight: 600; line-height: 1.2; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--primary); }

.gi-nav .wp-block-navigation-item__content { padding: 10px 12px; transition: background-color .2s, color .2s; }
.gi-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.gi-nav .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--base);
}
.gi-nav .wp-block-navigation__submenu-container {
	min-width: 250px !important;
	padding: 8px 0;
	border: 0 !important;
	border-top: 3px solid var(--wp--preset--color--secondary) !important;
	box-shadow: 0 6px 24px rgba(27, 58, 107, .12);
	text-transform: none;
}
.gi-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 18px; }
.gi-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--secondary-soft); color: var(--wp--preset--color--secondary); }
.gi-nav .wp-block-social-links { margin-left: 18px; gap: 14px; }
.gi-nav .wp-block-social-links .wp-social-link a { padding: 2px; }
.gi-nav .wp-block-social-links .wp-social-link:hover a { color: var(--wp--preset--color--secondary); }

/* Menú desplegable (☰) también en tabletas: el menú completo solo cabe desde 1024px */
@media (min-width: 600px) and (max-width: 1023px) {
	.gi-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.gi-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.gi-nav .wp-block-navigation__responsive-container-close:not(.always-shown) { display: flex; }
	.gi-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { position: static; visibility: visible; opacity: 1; width: auto; height: auto; border: 0; }
	.gi-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
}

/* Menú móvil */
.gi-nav .wp-block-navigation__responsive-container.is-menu-open {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
	padding: 20px;
	text-align: left;
}
.gi-nav .is-menu-open .wp-block-navigation__container,
.gi-nav .is-menu-open .wp-block-navigation__submenu-container,
.gi-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; }
.gi-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 56px; }
.gi-nav .is-menu-open .wp-block-navigation__container { width: 100%; gap: 0; }
.gi-nav .is-menu-open .wp-block-navigation-item { width: 100%; }
.gi-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { display: block; width: 100%; padding: 14px 10px; border-bottom: 1px solid var(--wp--preset--color--line); font-size: .9375rem; }
.gi-nav .is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; border-top: 0 !important; padding: 0 0 6px 14px !important; }
.gi-nav .is-menu-open .wp-block-social-links { margin: 20px 10px 0; }

/* ---------- Secciones ---------- */
.gi-section-head { text-align: center; }
.gi-section-head h2 { margin-bottom: 0; }
.gi-section-head p { margin-top: 8px; color: var(--wp--preset--color--muted); }

.gi-why__img { position: relative; isolation: isolate; }
.gi-why__img::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; z-index: -1; border: 3px solid var(--wp--preset--color--secondary); border-radius: 6px; }
.gi-why__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; }
.gi-why__item { padding-block: 18px; border-top: 1px solid var(--wp--preset--color--line); }
.gi-why__item:first-of-type { padding-top: 0; border-top: 0; }
.gi-why__num { display: grid !important; place-items: center; flex-shrink: 0; width: 40px; height: 40px; margin: 0; border-radius: 50%; font-size: .9375rem; font-weight: 700; }
.gi-why__item h3 { margin: 0 0 4px; color: var(--wp--preset--color--primary); }
.gi-why__item p { margin: 0; }

.gi-formal { border-left-width: 5px !important; }

.gi-acard { border-right: 3px solid var(--wp--preset--color--secondary); border-radius: 8px 0 0 8px; }
.gi-acard--navy { border-right-color: var(--wp--preset--color--primary); }
.gi-acard--orange { border-right-color: var(--wp--preset--color--accent); }
.gi-acard h3 { margin: 0 0 14px; }
.gi-acard p { margin: 0; }
.gi-about__text { padding-left: 26px; border-left: 3px solid var(--wp--preset--color--primary); }
.gi-about__text p strong { color: var(--wp--preset--color--secondary); }

.gi-mv > .wp-block-column { border-top: 4px solid var(--wp--preset--color--secondary); }
.gi-mv > .wp-block-column:last-child { border-top-color: var(--wp--preset--color--accent); }

.gi-cta__img img { max-height: 320px; width: auto; margin-inline: auto; mix-blend-mode: multiply; }

.gi-page-hero .wp-block-cover__inner-container { text-align: center; }
.gi-page-hero h1, .gi-page-hero p { text-shadow: 0 2px 12px rgba(0, 0, 0, .25); }

/* Catálogo */
.gi-catalog__side { flex-basis: 270px !important; flex-grow: 0 !important; }
.gi-catalog .wp-block-query-pagination { margin-top: 26px; }
.gi-catalog .wp-block-query-pagination-numbers .page-numbers { display: inline-grid; place-items: center; min-width: 34px; height: 34px; border-radius: 4px; text-decoration: none; }
.gi-catalog .wp-block-query-pagination-numbers .current { font-weight: 600; background: var(--wp--preset--color--secondary-soft); }

/* Producto */
.gi-product__aside { position: sticky; top: calc(var(--wp--custom--header-height) + var(--wp-admin--admin-bar--height, 0px) + 20px); }
.gi-product__summary .wp-block-post-excerpt__excerpt { text-align: justify; font-size: var(--wp--preset--font-size--small); }
.gi-related-title { position: relative; padding-top: 12px; }
.gi-related-title::before { content: ""; position: absolute; top: 0; left: 0; width: 9.5rem; border-top: 2px solid var(--wp--preset--color--secondary); }

/* Contacto */
.gi-contact-card { position: relative; z-index: 1; }
.gi-contact-hero__img img { width: 100%; height: 420px; object-fit: cover; border-radius: 0 10px 10px 0; }

/* ---------- Pie de página ---------- */
.gi-footer a { color: inherit; text-decoration: none; }
.gi-footer a:hover, .gi-footer a:focus-visible { text-decoration: underline; }
.gi-footer .wp-block-site-logo img { width: 74px; height: 74px; padding: 4px; border-radius: 10px; background: var(--wp--preset--color--base); }
.gi-footer .gi-brand__name, .gi-footer .gi-brand__tag { color: var(--wp--preset--color--base); }
.gi-footer h2 { margin: 0 0 8px; color: inherit; }
.gi-footer .wp-block-social-links .wp-social-link { transition: background-color .2s; }
.gi-footer .wp-block-social-links .wp-social-link:hover { background-color: var(--wp--preset--color--accent) !important; }
.gi-footer .gi-icon { color: currentColor !important; }
.gi-reclamos-link { display: inline-flex; align-items: center; gap: 8px; line-height: 1.15; }
.gi-reclamos-link .gi-icon { width: 28px; height: 28px; color: #4cc896 !important; }

/* ---------- Adaptable ---------- */
@media (max-width: 781px) {
	:root { --wp--custom--header-height: 64px; }
	.gi-brand .wp-block-site-logo img { width: 46px; height: 46px; }
	.gi-brand__name { font-size: 1.25rem; }
	.gi-acard { border-right: 0; border-left: 3px solid var(--wp--preset--color--secondary); border-radius: 0 8px 8px 0; }
	.gi-acard--navy { border-left-color: var(--wp--preset--color--primary); }
	.gi-acard--orange { border-left-color: var(--wp--preset--color--accent); }
	.gi-about__text { padding-left: 0; border-left: 0; }
	.gi-catalog__side { flex-basis: 100% !important; }
	.gi-product__aside { position: static; }
	.gi-contact-hero__img img { height: 260px; border-radius: 0 0 10px 10px; }
	.gi-why__img::before { inset: 10px -10px -10px 10px; }
	.gi-footer-bar { justify-content: center !important; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
