/*
Theme Name: Polygal Studio
Theme URI: https://polygalstudio.com/
Author: Polygal Studio
Description: Tema a la medida de Polygal Studio: artículos promocionales, kits corporativos y servicios de impresión. Incluye inicio, nosotros, contacto con formulario de cotización y catálogo de WooCommerce. Imágenes y datos de contacto editables en Apariencia → Personalizar → Polygal Studio.
Version: 1.0.1
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: polygal-studio
*/

/* El diseño de las páginas está en assets/pages.css. Aquí: estados interactivos, WordPress y catálogo. */

[hidden] { display: none !important; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
img { max-width: 100%; height: auto; }

/* Menús */
.navlink[aria-expanded="true"], .navlink[aria-current="page"] { color: #3a0bcb; background: #f1edff; }
.navlink[aria-expanded="true"] svg, .row[aria-expanded="true"] svg { transform: rotate(180deg); }
.row svg { transition: transform .2s; }
.iconbtn[aria-expanded="true"] { background: #f1edff; color: #3a0bcb; }
.admin-bar header { top: 32px; }
@media (max-width: 782px) { .admin-bar header { top: 0; } }

/* Carrusel de técnicas */
.dot-i { display: block; height: 10px; width: 10px; border-radius: 9999px; background: #cfc8da; transition: width .25s, background-color .25s; }
.dot[aria-current="true"] .dot-i { width: 30px; background: #5a2478; }

/* Nosotros: números de las 8 razones */
.reason-n { width: 64px; height: 64px; margin: 0 auto; border-radius: 50%; display: grid; place-items: center; font-size: 20px; font-weight: 700; box-shadow: 0 10px 22px rgba(74,27,119,.18); }
.reason-n-0 { background: #3a0bcb; color: #fff; }
.reason-n-1 { background: linear-gradient(135deg, #a32bb3, #5a2fe6); color: #fff; }
.reason-n-2 { background: #4a1b77; color: #fff; }
.reason-n-3 { background: #f1edff; color: #3a0bcb; }

/* Contacto: preguntas frecuentes y avisos del formulario */
.faq-item { border-radius: 30px; background: #fff; box-shadow: 0 2px 8px rgba(74,27,119,.06); transition: box-shadow .2s; }
.faq-item.open { box-shadow: 0 14px 34px rgba(74,27,119,.14); }
.faq-ic { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; flex: none; background: #f1edff; color: #4a1b77; transition: background-color .2s; }
.faq-ic svg { transition: transform .2s; }
.faq-item.open .faq-ic { background: #4a1b77; color: #fff; }
.faq-item.open .faq-ic svg { transform: rotate(180deg); }
.pg-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pg-alert { margin-top: 20px; padding: 16px 20px; border-radius: 20px; background: #fdecec; color: #8f1d1d; font-weight: 600; font-size: 15px; line-height: 1.5; }

/* ---------- Encabezado del catálogo y páginas generales ---------- */
.pg-woo-band { position: relative; overflow: hidden; background: linear-gradient(140deg, #f5f3ff 0%, #eeeafe 55%, #f7f1fb 100%); padding: 44px 0 110px; }
.pg-woo-band-sm { padding: 22px 0 26px; background: #f7f1fb; }
.pg-woo-band-sm .pg-woo-title { margin: 0; }
.pg-blob { position: absolute; border-radius: 50%; pointer-events: none; }
.pg-blob-a { width: 380px; height: 380px; left: -140px; top: -140px; background: radial-gradient(circle, rgba(217,74,232,.18), transparent 70%); }
.pg-blob-b { width: 460px; height: 460px; right: -160px; bottom: -200px; background: radial-gradient(circle, rgba(58,11,203,.14), transparent 70%); }
.pg-woo-title { margin: 12px 0 0; font-size: clamp(30px, 4vw, 48px); line-height: 1.1; font-weight: 700; letter-spacing: -.015em; color: #1f1b2d; }
.pg-woo-desc { max-width: 680px; margin: 14px auto 0; font-size: 17px; line-height: 1.6; color: #5e5873; }
.pg-crumbs { font-size: 14px; color: #5e5873; }
.pg-crumbs a { color: #4a1b77; font-weight: 700; text-decoration: none; }
.pg-crumbs a:hover { text-decoration: underline; }
.pg-woo-search { display: flex; gap: 10px; max-width: 620px; margin: 26px auto 0; }
.pg-woo-search input { flex: 1 1 auto; min-width: 0; min-height: 52px; border: 2px solid #7a7390; border-radius: 9999px; padding: 0 22px; font: inherit; font-size: 16px; background: #fff; color: #1f1b2d; }
.pg-woo-search input:focus { outline: none; border-color: #3a0bcb; box-shadow: 0 0 0 4px #e4dcfd; }
.pg-prose { max-width: 820px; padding-top: 48px; padding-bottom: 96px; font-size: 17px; line-height: 1.7; color: #433e55; }
.pg-prose h2, .pg-prose h3 { color: #4a1b77; }

/* ---------- Listado del catálogo ---------- */
.pg-archive { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 40px; padding-top: 24px; padding-bottom: 100px; align-items: start; }
.pg-woo-side { position: sticky; top: 110px; display: grid; gap: 20px; }
.pg-catnav { background: #fff; border-radius: 32px; padding: 22px 16px; box-shadow: 0 8px 26px rgba(74,27,119,.10); }
.pg-catnav-t { margin: 0 0 8px 12px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #5e5873; }
.pg-catnav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.pg-catnav ul ul { margin: 4px 0 6px 14px; padding-left: 10px; border-left: 2px solid #efe3f7; }
.pg-catnav a { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 42px; padding: 0 12px; border-radius: 9999px; font-size: 15px; font-weight: 600; color: #1f1b2d; text-decoration: none; transition: background-color .15s, color .15s; }
.pg-catnav a:hover { background: #f7f1fb; color: #4a1b77; }
.pg-catnav a[aria-current="page"] { background: #4a1b77; color: #fff; }
.pg-count { font-size: 12.5px; font-weight: 700; padding: 2px 9px; border-radius: 9999px; background: #f1edff; color: #3a0bcb; }
.pg-catnav a[aria-current="page"] .pg-count { background: rgba(255,255,255,.2); color: #fff; }
.pg-side-cta { border-radius: 32px; padding: 24px 22px; background: #4a1b77; color: #fff; text-align: center; }
.pg-side-cta-t { margin: 0; font-size: 17px; font-weight: 700; }
.pg-side-cta p { font-size: 14.5px; line-height: 1.5; color: #efe3f7; }
.pg-side-cta .btn { width: 100%; padding: 0 16px; font-size: 14.5px; }

.woocommerce .woocommerce-result-count { margin: 10px 0 18px; font-size: 14.5px; color: #5e5873; }
.woocommerce .woocommerce-ordering { margin: 0 0 18px; }
.woocommerce .woocommerce-ordering select { min-height: 46px; border: 2px solid #dcc6ee; border-radius: 9999px; padding: 0 40px 0 18px; font: inherit; font-size: 14.5px; color: #4a1b77; background-color: #fff; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0 0 32px; padding: 0; clear: both; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce .pg-archive ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.woocommerce ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; list-style: none; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; height: 100%; border-radius: 28px; background: #fff; box-shadow: 0 6px 20px rgba(74,27,119,.10); overflow: hidden; text-decoration: none; transition: transform .3s cubic-bezier(.2,0,0,1), box-shadow .3s; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(74,27,119,.18); }
.pg-card-media { position: relative; display: grid; place-items: center; aspect-ratio: 1 / 1; background: radial-gradient(circle at 50% 45%, #ffffff 0%, #f2f0f3 70%); overflow: hidden; }
.woocommerce ul.products li.product .pg-card-media img { width: 86% !important; height: 86% !important; margin: 0 !important; object-fit: contain; transition: transform .5s cubic-bezier(.2,0,0,1); }
.woocommerce ul.products li.product a:hover .pg-card-media img { transform: scale(1.05); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 16px 18px 4px !important; margin: 0; font-size: 15.5px !important; line-height: 1.35; font-weight: 700; color: #1f1b2d; text-align: center; }
.woocommerce ul.products li.product .price { display: block; text-align: center; color: #4a1b77 !important; font-weight: 700; }
.pg-card-cta { display: block; margin: auto 18px 18px; padding: 10px 14px; border-radius: 9999px; background: #f1edff; color: #3a0bcb; font-size: 14px; font-weight: 700; text-align: center; transition: background-color .15s, color .15s; }
.woocommerce ul.products li.product a:hover .pg-card-cta { background: #3a0bcb; color: #fff; }
.woocommerce ul.products li.product .onsale { display: none; }

.woocommerce nav.woocommerce-pagination ul { display: inline-flex; gap: 8px; border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display: grid; place-items: center; min-width: 46px; height: 46px; padding: 0 12px; border-radius: 9999px; background: #f7f1fb; color: #4a1b77; font-weight: 700; }
.woocommerce nav.woocommerce-pagination ul li span.current, .woocommerce nav.woocommerce-pagination ul li a:hover { background: #4a1b77; color: #fff; }
.woocommerce-info, .woocommerce-message { border-radius: 20px; border-top: 0 !important; background: #f7f1fb !important; color: #4a1b77 !important; }

/* ---------- Ficha de producto ---------- */
.pg-single { padding-top: 26px; padding-bottom: 100px; }
.woocommerce .pg-single div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.woocommerce .pg-single div.product > * { grid-column: 1 / -1; }
.woocommerce .pg-single div.product > .woocommerce-product-gallery { grid-column: 1; width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce .pg-single div.product > .summary { grid-column: 2; width: auto !important; float: none !important; margin: 0 !important; position: sticky; top: 110px; }
.woocommerce .pg-single .woocommerce-product-gallery__wrapper { border-radius: 40px; overflow: hidden; background: radial-gradient(circle at 50% 45%, #ffffff 0%, #f2f0f3 75%); box-shadow: 0 16px 40px rgba(74,27,119,.12); }
.woocommerce .pg-single .woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: 10px; margin-top: 14px !important; }
.woocommerce .pg-single .woocommerce-product-gallery .flex-control-thumbs li { width: 78px !important; float: none !important; }
.woocommerce .pg-single .woocommerce-product-gallery .flex-control-thumbs img { border-radius: 18px; background: #f2f0f3; opacity: .7; }
.woocommerce .pg-single .woocommerce-product-gallery .flex-control-thumbs img.flex-active, .woocommerce .pg-single .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; box-shadow: 0 0 0 3px #a06fcb; }
.woocommerce .pg-single .product_title { margin: 0; font-size: clamp(28px, 3vw, 40px); line-height: 1.12; font-weight: 700; color: #1f1b2d; letter-spacing: -.01em; }
.woocommerce .pg-single .summary .price { color: #4a1b77 !important; font-size: 22px !important; font-weight: 700; }
.woocommerce .pg-single .woocommerce-product-details__short-description { margin-top: 14px; font-size: 16px; line-height: 1.7; color: #433e55; }
.pg-quote { margin: 26px 0; padding: 26px; border-radius: 32px; background: #f7f1fb; }
.pg-quote-t { margin: 0; font-size: 18px; font-weight: 700; color: #4a1b77; }
.pg-quote-l { margin: 12px 0 0; padding: 0 0 0 20px; color: #433e55; font-size: 15px; line-height: 1.7; }
.pg-quote-b { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.pg-quote-b .btn { flex: 1 1 220px; padding: 0 20px; font-size: 15px; }
.woocommerce .pg-single .product_meta { font-size: 14px; color: #5e5873; }
.woocommerce .pg-single .product_meta a { color: #3a0bcb; font-weight: 600; }
.woocommerce .pg-single .woocommerce-tabs { margin-top: 20px; }
.woocommerce .pg-single .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 !important; margin: 0 0 18px !important; }
.woocommerce .pg-single .woocommerce-tabs ul.tabs::before, .woocommerce .pg-single .woocommerce-tabs ul.tabs li::before, .woocommerce .pg-single .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce .pg-single .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 9999px !important; background: #f7f1fb !important; }
.woocommerce .pg-single .woocommerce-tabs ul.tabs li a { padding: 12px 22px !important; color: #4a1b77 !important; font-weight: 700 !important; }
.woocommerce .pg-single .woocommerce-tabs ul.tabs li.active { background: #4a1b77 !important; }
.woocommerce .pg-single .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
.woocommerce .pg-single .woocommerce-Tabs-panel { padding: 28px; border-radius: 32px; background: #fff; box-shadow: 0 8px 26px rgba(74,27,119,.08); color: #433e55; line-height: 1.7; }
.woocommerce .pg-single .woocommerce-Tabs-panel h2:first-child { display: none; }
.woocommerce .pg-single .related > h2, .woocommerce .pg-single .upsells > h2 { margin: 40px 0 22px; text-align: center; font-size: clamp(24px, 2.6vw, 32px); font-weight: 700; color: #4a1b77; }

@media (max-width: 1023px) {
	.pg-archive { grid-template-columns: minmax(0, 1fr); }
	.pg-woo-side { position: static; }
	.pg-catnav ul { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 8px; padding-bottom: 6px; }
	.pg-catnav ul ul { display: none; }
	.pg-catnav a { white-space: nowrap; background: #f7f1fb; }
	.pg-side-cta { display: none; }
	.woocommerce .pg-archive ul.products, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.woocommerce .pg-single div.product { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.woocommerce .pg-single div.product > .woocommerce-product-gallery, .woocommerce .pg-single div.product > .summary { grid-column: 1; position: static; }
}
@media (max-width: 640px) {
	.pg-woo-search { flex-direction: column; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px !important; padding: 12px 12px 2px !important; }
	.pg-card-cta { margin: auto 12px 12px; font-size: 13px; padding: 8px 10px; }
	.woocommerce .woocommerce-ordering, .woocommerce .woocommerce-result-count { float: none; }
}

/* v1.0.1: menú en pantallas medianas y botón duplicado de WhatsApp de otro plugin */
.navlink { white-space: nowrap; }
@media (max-width: 1360px) { .navlink { padding: 0 10px; font-size: 14px; } }
@media (max-width: 1180px) { .navlink { padding: 0 8px; font-size: 13.5px; } }
body.pg-theme .qlwapp, body.pg-theme .qlwapp__container { display: none !important; }
