/* UltraGay Tools — estilos con el diseño de UltraGay */
.ug-tool {
	--ug-ink: #1b1020;
	--ug-cream: #fff7ee;
	--ug-accent: #c8175d;
	--ug-accent-dark: #a0124b;
	--ug-yellow: #ffd23f;
	--ug-line: #eadfd3;
	--ug-muted: #5c4e61;
	color: var(--ug-ink);
	box-sizing: border-box;
}
.ug-tool *, .ug-tool *::before, .ug-tool *::after { box-sizing: inherit; }

/* Botones y chips */
.ug-tool .ug-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	min-height: 44px; padding: 10px 18px; border: 2px solid var(--ug-ink); border-radius: 999px;
	background: #fff; color: var(--ug-ink); font: inherit; font-weight: 700; font-size: 15px;
	text-decoration: none; cursor: pointer; line-height: 1.2;
}
.ug-tool .ug-btn:hover { background: var(--ug-cream); color: var(--ug-ink); }
.ug-tool .ug-btn--main { background: var(--ug-accent); border-color: var(--ug-accent); color: #fff; }
.ug-tool .ug-btn--main:hover { background: var(--ug-accent-dark); border-color: var(--ug-accent-dark); color: #fff; }
.ug-tool .ug-chip {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 14px 8px 10px;
	border: 2px solid var(--ug-ink); border-radius: 999px; background: #fff; color: var(--ug-ink);
	font: inherit; font-weight: 700; font-size: 14px; text-decoration: none; cursor: pointer;
}
.ug-tool .ug-chip:hover { background: var(--ug-cream); color: var(--ug-ink); }
.ug-tool .ug-chip.is-active { background: var(--ug-ink); color: #fff; }
.ug-chip__swatch { display: flex; flex-direction: column; width: 30px; height: 20px; border-radius: 4px; overflow: hidden; border: 1px solid rgba(0,0,0,.15); }
.ug-chip__swatch span { flex: 1; }
.ug-label { display: block; margin: 18px 0 8px; font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; color: var(--ug-muted); }
.ug-notice { padding: 16px 20px; border-radius: 16px; background: var(--ug-cream); border: 1px solid var(--ug-line); }
.ug-credit { font-size: 13px; color: var(--ug-muted); }
.ug-credit a { color: inherit; }

/* Bloque de Amazon (siempre al final) */
.ug-amazon {
	margin: 40px 0 16px; padding: 36px 24px; border-radius: 28px; background: var(--ug-ink); color: var(--ug-cream);
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px;
}
.ug-amazon__stripe { display: flex; width: 120px; height: 8px; border-radius: 4px; overflow: hidden; }
.ug-amazon__stripe span { flex: 1; }
.ug-amazon__stripe span:nth-child(1) { background: #e40303; }
.ug-amazon__stripe span:nth-child(2) { background: #ff8c00; }
.ug-amazon__stripe span:nth-child(3) { background: #ffed00; }
.ug-amazon__stripe span:nth-child(4) { background: #008026; }
.ug-amazon__stripe span:nth-child(5) { background: #004dff; }
.ug-amazon__stripe span:nth-child(6) { background: #750787; }
.ug-amazon__title { margin: 0; font-size: clamp(24px, 4vw, 34px); font-weight: 800; line-height: 1.1; color: #fff; }
.ug-amazon__text { margin: 0; max-width: 520px; color: #d9cfdc; }
.ug-tool .ug-amazon__btn {
	display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 14px 30px; border-radius: 999px;
	background: var(--ug-yellow); color: var(--ug-ink); font-weight: 800; font-size: 18px; text-decoration: none;
}
.ug-tool .ug-amazon__btn:hover { background: #ffe27a; color: var(--ug-ink); }
.ug-amazon__note { margin: 0; font-size: 13px; color: #b9aebd; }

/* Generador de banderas */
.ug-flags__layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.ug-flags__preview canvas { display: block; width: 100%; height: auto; border-radius: 16px; box-shadow: 0 0 0 1px var(--ug-line), 0 12px 30px rgba(27,16,32,.12); background: #fff; }
.ug-flags__downloads, .ug-flags__row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; align-items: center; }
.ug-flags__presets { display: flex; flex-wrap: wrap; gap: 8px; }
.ug-flags__stripes { display: flex; flex-wrap: wrap; gap: 8px; }
.ug-flags__row input[type="text"] { flex: 1; min-width: 160px; min-height: 44px; padding: 8px 14px; border: 2px solid var(--ug-ink); border-radius: 12px; font: inherit; }
.ug-color { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; }
.ug-color input[type="color"] { width: 44px; height: 44px; padding: 2px; border: 2px solid var(--ug-ink); border-radius: 12px; background: #fff; cursor: pointer; }
.ug-color--wide { margin-top: 10px; }
.ug-check { display: flex; align-items: center; gap: 10px; margin-top: 18px; font-weight: 700; min-height: 44px; cursor: pointer; }
.ug-check input { width: 20px; height: 20px; }
.ug-flags__share { margin-top: 28px; padding: 20px; border-radius: 20px; background: var(--ug-cream); border: 1px solid var(--ug-line); }
.ug-flags__share .ug-label { margin-top: 0; }
.ug-flags__share textarea { width: 100%; margin-bottom: 10px; padding: 10px 12px; border: 1px solid var(--ug-line); border-radius: 12px; font-family: ui-monospace, monospace; font-size: 13px; resize: vertical; }

/* Buscador de manga */
.ug-manga__search { display: flex; gap: 10px; margin-bottom: 14px; }
.ug-manga__search input[type="search"] { flex: 1; min-width: 0; min-height: 48px; padding: 8px 18px; border: 2px solid var(--ug-ink); border-radius: 999px; font: inherit; background: #fff; }
.ug-manga__cats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.ug-manga__count { font-weight: 700; }
.ug-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 22px 18px; }
.ug-grid--small { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
.ug-tool .ug-card { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: var(--ug-ink); }
.ug-card__img { display: block; aspect-ratio: 23 / 32.5; border-radius: 14px; overflow: hidden; background: var(--ug-cream); box-shadow: 0 0 0 1px var(--ug-line); }
.ug-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s ease; }
.ug-card:hover .ug-card__img img { transform: scale(1.04); }
.ug-card__title { font-weight: 700; font-size: 15px; line-height: 1.25; }
.ug-tool .ug-card:hover .ug-card__title { color: var(--ug-accent); }
.ug-card__meta { font-size: 13px; color: var(--ug-muted); }
.ug-pager { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 28px; font-weight: 700; }

/* Ficha */
.ug-single { max-width: 1000px; margin: 0 auto; padding: 24px 16px 48px; }
.ug-crumbs { font-size: 14px; color: var(--ug-muted); margin-bottom: 20px; }
.ug-crumbs a { color: var(--ug-muted); }
.ug-single__top { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 32px; align-items: start; }
.ug-single__cover img { width: 100%; height: auto; border-radius: 20px; box-shadow: 0 16px 40px rgba(27,16,32,.18); display: block; }
.ug-single h1 { margin: 0 0 8px; font-size: clamp(32px, 5vw, 52px); line-height: 1.02; font-weight: 800; letter-spacing: -.02em; }
.ug-single__alt { margin: 0 0 20px; color: var(--ug-muted); }
.ug-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; margin: 0 0 18px; }
.ug-facts div { background: var(--ug-cream); border: 1px solid var(--ug-line); border-radius: 14px; padding: 10px 14px; }
.ug-facts dt { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ug-muted); }
.ug-facts dd { margin: 2px 0 0; font-weight: 700; }
.ug-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.ug-tag { padding: 5px 12px; border-radius: 999px; background: #ffe1ec; color: var(--ug-accent-dark); font-size: 13px; font-weight: 700; }
.ug-tag--genre { background: #e1e7ff; color: #2340d8; }
.ug-single__section { margin-top: 40px; }
.ug-single__section h2 { font-size: clamp(24px, 3.5vw, 32px); font-weight: 800; margin: 0 0 14px; }
.ug-single__back { margin-top: 8px; }

/* Juegos: imágenes apaisadas */
.ug-grid--wide { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.ug-grid--small.ug-grid--wide { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.ug-card--wide .ug-card__img { aspect-ratio: 3 / 2; }
.ug-single--wide .ug-single__top { grid-template-columns: 1fr; }
.ug-single--wide .ug-single__cover img { aspect-ratio: 16 / 9; object-fit: cover; }

/* Plataformas de streaming */
.ug-providers { display: flex; flex-wrap: wrap; gap: 8px; }
.ug-provider { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 6px; border-radius: 999px; background: #fff; border: 1px solid var(--ug-line); font-weight: 700; font-size: 14px; }
.ug-provider img { width: 32px; height: 32px; border-radius: 8px; }

/* Portada */
.ug-home { margin: 0 auto; }
.ug-pill { display: inline-block; margin: 0 0 18px; padding: 6px 14px; border-radius: 999px; background: var(--ug-yellow); font-weight: 700; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.ug-hero { padding: 32px 0 56px; max-width: 900px; }
.ug-hero__title { margin: 0; font-size: clamp(44px, 8vw, 88px); line-height: .95; font-weight: 800; letter-spacing: -.035em; }
.ug-hero__title span { color: var(--ug-accent); }
.ug-hero__text { margin: 22px 0 28px; font-size: clamp(17px, 2.2vw, 21px); line-height: 1.5; max-width: 600px; color: #3d3142; }
.ug-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.ug-tool .ug-btn--big { min-height: 52px; padding: 14px 26px; font-size: 17px; }
.ug-h2 { margin: 0 0 24px; font-size: clamp(30px, 5vw, 48px); line-height: 1.05; font-weight: 800; letter-spacing: -.03em; }
.ug-band { margin: 0 0 56px; padding: 48px 28px; border-radius: 32px; }
.ug-band--dark { background: var(--ug-ink); color: var(--ug-cream); }
.ug-band--dark .ug-h2 { color: #fff; }
.ug-tools-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.ug-tool .ug-toolcard { display: flex; flex-direction: column; gap: 10px; min-height: 200px; padding: 24px; border-radius: 22px; background: var(--ug-cream); color: var(--ug-ink); text-decoration: none; transition: transform .2s ease; }
.ug-tool .ug-toolcard:hover { transform: translateY(-3px); color: var(--ug-ink); }
.ug-toolcard__icon { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; }
.ug-toolcard__title { font-size: 22px; font-weight: 800; line-height: 1.1; }
.ug-toolcard__text { font-size: 15px; line-height: 1.5; color: #4a3d4f; }
.ug-section { margin: 0 0 56px; }
.ug-section__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 12px; }
.ug-section__head a { font-weight: 700; color: var(--ug-ink); }
.ug-flagchips { display: flex; flex-wrap: wrap; gap: 10px; }
.ug-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; }
.ug-post { background: #fff; border: 1px solid var(--ug-line); border-radius: 22px; overflow: hidden; display: flex; flex-direction: column; }
.ug-post__img { display: block; aspect-ratio: 3 / 2; background: var(--ug-cream); }
.ug-post__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ug-post__body { padding: 18px; display: flex; flex-direction: column; gap: 6px; }
.ug-post__cat { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ug-accent-dark); }
.ug-post__title { margin: 0; font-size: 20px; line-height: 1.2; }
.ug-post__title a { color: var(--ug-ink); text-decoration: none; }
.ug-post__title a:hover { color: var(--ug-accent); }
.ug-post__text { margin: 0; font-size: 15px; line-height: 1.5; color: #4a3d4f; }

/* Banda amarilla del test en portada */
.ug-band--yellow { background: var(--ug-yellow); }
.ug-band__split { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; }
.ug-band__split .ug-hero__text { margin: 0; }
.ug-tool .ug-btn--dark { background: var(--ug-ink); border-color: var(--ug-ink); color: #fff; }
.ug-tool .ug-btn--dark:hover { background: #3d3142; color: #fff; }

/* Test de regalos */
.ug-quiz { max-width: 760px; margin: 0 auto; }
.ug-quiz__card, .ug-quiz__results { background: #fff; border: 2px solid var(--ug-ink); border-radius: 28px; padding: 28px; }
.ug-quiz__step { margin: 0 0 8px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ug-muted); }
.ug-quiz__bar { height: 8px; border-radius: 4px; background: var(--ug-cream); overflow: hidden; margin-bottom: 18px; }
.ug-quiz__bar span { display: block; height: 100%; background: var(--ug-accent); transition: width .3s ease; }
.ug-quiz__q { margin: 0 0 18px; font-size: clamp(24px, 4vw, 32px); font-weight: 800; line-height: 1.1; }
.ug-quiz__options { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; margin-bottom: 16px; }
.ug-tool .ug-quiz__opt { min-height: 56px; padding: 12px 16px; border: 2px solid var(--ug-ink); border-radius: 16px; background: var(--ug-cream); color: var(--ug-ink); font: inherit; font-weight: 700; font-size: 16px; text-align: left; cursor: pointer; }
.ug-tool .ug-quiz__opt:hover, .ug-tool .ug-quiz__opt.is-active { background: var(--ug-yellow); }
.ug-quiz__list { display: flex; flex-direction: column; gap: 14px; margin-bottom: 20px; }
.ug-quiz__idea { display: flex; gap: 16px; align-items: flex-start; padding: 18px; border-radius: 20px; background: var(--ug-cream); border: 1px solid var(--ug-line); }
.ug-quiz__num { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--ug-ink); color: #fff; font-weight: 800; }
.ug-quiz__title { margin: 0; font-size: 19px; font-weight: 800; }
.ug-quiz__desc { margin: 4px 0 12px; color: #4a3d4f; }
.ug-tool .ug-quiz__btn { min-height: 44px; padding: 10px 20px; font-size: 15px; }
.ug-quiz__note { margin-top: 14px; text-align: center; color: var(--ug-muted); }

/* Ambiente por ciudades */
.ug-cities__country { margin: 28px 0 12px; font-size: 24px; font-weight: 800; }
.ug-cities__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.ug-tool .ug-citycard { display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: 20px; background: #fff; border: 2px solid var(--ug-ink); color: var(--ug-ink); text-decoration: none; }
.ug-tool .ug-citycard:hover { background: var(--ug-yellow); color: var(--ug-ink); }
.ug-citycard__name { font-size: 20px; font-weight: 800; }
.ug-citycard__go { font-size: 14px; font-weight: 700; color: var(--ug-muted); }
.ug-map { height: 440px; border-radius: 24px; overflow: hidden; margin: 8px 0 12px; border: 1px solid var(--ug-line); z-index: 0; }
.ug-places { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.ug-place { padding: 16px 18px; border-radius: 18px; background: #fff; border: 1px solid var(--ug-line); }
.ug-place__name { margin: 0 0 4px; font-weight: 800; font-size: 17px; }
.ug-place__line { margin: 0; font-size: 14px; color: #4a3d4f; }
.ug-place__links { margin: 8px 0 0; font-size: 14px; font-weight: 700; }

/* Efemérides */
.ug-daypick { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; }
.ug-daypick select { min-height: 48px; padding: 8px 14px; border: 2px solid var(--ug-ink); border-radius: 14px; background: #fff; font: inherit; font-weight: 700; }
.ug-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.ug-person { display: flex; gap: 16px; padding: 16px; border-radius: 22px; background: #fff; border: 1px solid var(--ug-line); }
.ug-person__img { flex: none; width: 96px; height: 96px; border-radius: 50%; overflow: hidden; background: var(--ug-cream); }
.ug-person__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ug-person__name { margin: 0; font-size: 19px; font-weight: 800; line-height: 1.2; }
.ug-person__meta { margin: 4px 0; font-size: 13px; font-weight: 700; color: var(--ug-accent-dark); }
.ug-person__desc { margin: 0 0 8px; font-size: 15px; color: #4a3d4f; }
.ug-person__link { font-weight: 700; font-size: 14px; }

/* Música */
.ug-grid--albums { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.ug-card__img--square { aspect-ratio: 1 / 1; }

/* Generadores con IA */
.ug-ia__intro { margin: 0 0 4px; font-size: 18px; }
.ug-ia__input { width: 100%; min-height: 48px; padding: 8px 14px; border: 2px solid var(--ug-ink); border-radius: 14px; background: #fff; font: inherit; }
.ug-ia__status { margin: 0; font-weight: 700; color: var(--ug-accent-dark); }
.ug-ia__result { margin-top: 20px; }
.ug-ia__item { align-items: center; }
.ug-ia__text { margin: 0 0 8px; line-height: 1.6; }
.ug-tool .ug-btn[disabled] { opacity: .6; cursor: wait; }

/* Calendario de Prides */
.ug-prides { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.ug-tool .ug-pride { display: flex; gap: 14px; align-items: center; padding: 14px; border-radius: 20px; background: #fff; border: 2px solid var(--ug-ink); color: var(--ug-ink); text-decoration: none; }
.ug-tool .ug-pride:hover { background: var(--ug-yellow); color: var(--ug-ink); }
.ug-pride.is-past { opacity: .6; border-color: var(--ug-line); }
.ug-pride__date { flex: none; width: 76px; min-height: 76px; border-radius: 14px; background: var(--ug-ink); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 6px; }
.ug-pride__day { font-size: 28px; font-weight: 800; line-height: 1; }
.ug-pride__month { font-size: 12px; font-weight: 700; text-transform: uppercase; }
.ug-pride__body { display: flex; flex-direction: column; gap: 4px; }
.ug-pride__name { font-weight: 800; font-size: 18px; line-height: 1.15; }
.ug-pride__left { font-size: 14px; font-weight: 700; color: var(--ug-accent-dark); }
.ug-countdown { padding: 24px; border-radius: 24px; background: var(--ug-yellow); margin: 8px 0 8px; }
.ug-countdown p { margin: 0; }
.ug-countdown__big { font-size: clamp(28px, 5vw, 44px); font-weight: 800; line-height: 1.05; margin-bottom: 6px !important; }
.ug-pack { margin: 0; padding-left: 20px; line-height: 1.8; }
.ug-pack__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; max-width: 640px; }
.ug-tool .ug-pack__link { min-height: 44px; display: inline-flex; align-items: center; padding: 8px 16px; border-radius: 999px; background: var(--ug-yellow); color: var(--ug-ink); font-weight: 700; text-decoration: none; }
.ug-tool .ug-pack__link:hover { background: #ffe27a; color: var(--ug-ink); }

/* Tienda de banderas (estilo catálogo) */
.ug-shop { margin: 56px 0 24px; text-align: center; }
.ug-shop__title { margin: 0 0 12px; font-size: clamp(30px, 5vw, 48px); font-weight: 800; letter-spacing: -.02em; line-height: 1.05; }
.ug-shop__intro { max-width: 680px; margin: 0 auto 32px; font-size: 18px; line-height: 1.6; color: #3d3142; }
.ug-shop__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 24px; }
.ug-shop__item { display: flex; flex-direction: column; align-items: center; }
.ug-tool .ug-shop__img { display: block; width: 100%; aspect-ratio: 3 / 2; border-radius: 6px; overflow: hidden; box-shadow: 0 10px 24px rgba(27,16,32,.14); transform: perspective(600px) rotateX(0deg); transition: transform .25s ease, box-shadow .25s ease; }
.ug-tool .ug-shop__img:hover { transform: perspective(600px) rotateX(4deg) translateY(-4px); box-shadow: 0 16px 32px rgba(27,16,32,.2); }
.ug-shop__img svg { display: block; width: 100%; height: 100%; }
.ug-shop__name { margin: 16px 0 6px; font-size: 22px; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; line-height: 1.1; }
.ug-shop__name a { color: var(--ug-ink); text-decoration: none; }
.ug-shop__name a:hover { color: var(--ug-accent); }
.ug-shop__desc { margin: 0 0 12px; font-family: Georgia, "Times New Roman", serif; font-style: italic; font-size: 15px; line-height: 1.5; color: #3d3142; max-width: 300px; }
.ug-shop__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.ug-tool .ug-shop__links a { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 12px; border-radius: 999px; border: 1.5px solid var(--ug-ink); color: var(--ug-ink); font-size: 13px; font-weight: 700; text-decoration: none; }
.ug-tool .ug-shop__links a:hover { background: var(--ug-yellow); color: var(--ug-ink); }
.ug-shop__note { margin-top: 28px; color: var(--ug-muted); }
@media (max-width: 900px) { .ug-shop__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Título del generador bajo el catálogo */
.ug-gen__title { margin: 56px 0 24px; text-align: center; color: #1b1020; }

/* Catálogos de producto */
.ug-tool .ug-catalog__img { display: grid; place-items: center; padding: 18px; box-shadow: none; border-radius: 22px; }
.ug-catalog__img svg { width: 62%; height: auto; }
.ug-tool .ug-shop__links a { gap: 6px; }
.ug-dot { width: 14px; height: 14px; border-radius: 50%; border: 1px solid rgba(0,0,0,.25); flex: none; }
.ug-shopcats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ug-tool .ug-shopcat { display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: var(--ug-ink); }
.ug-shopcat__img { display: grid; place-items: center; aspect-ratio: 1 / 1; border-radius: 24px; transition: transform .2s ease; }
.ug-shopcat__img svg { width: 58%; height: auto; }
.ug-tool .ug-shopcat:hover .ug-shopcat__img { transform: translateY(-4px); }
.ug-shopcat__name { font-size: 20px; font-weight: 800; text-align: center; }
@media (max-width: 900px) { .ug-shopcats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Páginas de producto */
.ug-product .ug-shop { margin-top: 24px; }
.ug-product .ug-shop__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 16px; }
.ug-product .ug-shop__name { font-size: 17px; }
.ug-faq { display: flex; flex-direction: column; gap: 10px; }
.ug-faq details { padding: 16px 20px; border-radius: 16px; background: #fff; border: 1px solid var(--ug-line); }
.ug-faq summary { font-weight: 800; cursor: pointer; }
.ug-faq p { margin: 10px 0 0; }
@media (max-width: 900px) { .ug-product .ug-shop__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Legales y contacto */
.ug-legal h2 { font-size: 24px; margin: 28px 0 10px; }
.ug-legal li { margin-bottom: 6px; }
.ug-contact { max-width: 640px; }
.ug-hp { position: absolute; left: -9999px; }

/* Textos propios */
.ug-seotext { text-align: left; max-width: 760px; margin-left: auto; margin-right: auto; }
.ug-seotext h3 { font-size: 22px; font-weight: 800; margin: 22px 0 8px; }
.ug-seotext p { line-height: 1.7; }

/* Móvil */
@media (max-width: 760px) {
	.ug-shop__grid { grid-template-columns: 1fr; }
	.ug-ia__item { flex-direction: column; align-items: stretch; }
	.ug-map { height: 320px; }
	.ug-quiz__card, .ug-quiz__results { padding: 20px; }
	.ug-band { padding: 32px 18px; border-radius: 24px; }
	.ug-grid.ug-grid--wide { grid-template-columns: 1fr; }
	.ug-flags__layout { grid-template-columns: 1fr; }
	.ug-single__top { grid-template-columns: 1fr; }
	.ug-single__cover { max-width: 240px; }
	.ug-manga__search { flex-direction: column; }
	.ug-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
