/*
Theme Name: Thema-RSN Radio Manager
Theme URI: https://github.com/mediasan-dev/mutensan
Author: RSN
Description: Tema leggero per Web Radio, con un mini builder proprio (nessuna dipendenza da Elementor o Gutenberg) per inserire le funzioni di RSN Radio Manager e RSN Radio Sale direttamente nelle pagine.
Version: 1.0.5
Requires at least: 5.8
Requires PHP: 7.4
Text Domain: rsn-studio
*/

/* Reset minimo: il resto del design lo fa Elementor / il costruttore pagine.
   Niente qui usa !important cosi' resta facile da sovrascrivere. */
* { box-sizing: border-box; }
body {
    margin: 0;
    background-color: var(--rsn-studio-bg-color, #ffffff);
    font-family: var(--rsn-studio-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
    font-size: var(--rsn-studio-font-size, 16px);
    line-height: var(--rsn-studio-body-line-height, 1.6);
    color: var(--rsn-studio-body-text-color, #111111);
}
img { max-width: 100%; height: auto; }
a { color: var(--rsn-studio-body-link-color, #007cba); }
h1, h2, h3, h4, h5, h6 {
    font-family: var(--rsn-studio-heading-font-family, inherit);
    font-weight: var(--rsn-studio-heading-font-weight, 700);
    line-height: var(--rsn-studio-heading-line-height, 1.25);
    color: var(--rsn-studio-heading-color, #111111);
}
h1 { font-size: var(--rsn-studio-heading-font-size, 32px); }
.screen-reader-text {
    position: absolute;
    width: 1px; height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
}

/* Header: sfondo proprio (non trasparente) cosi' il menu resta leggibile
   qualunque sia lo sfondo della pagina sotto (es. sezioni Elementor scure). */
.rsn-studio-header {
    background: var(--rsn-studio-header-bg, #ffffff);
    flex-wrap: wrap;
    gap: 16px;
}
/* Layout "a scatola" della barra menu: il contenitore si restringe e si
   centra invece di occupare tutta la larghezza dello schermo. */
body.rsn-studio-menu-boxed .rsn-studio-header {
    max-width: 1200px;
    margin: 0 auto;
}
.rsn-studio-nav > ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    margin: 0;
    padding: 0;
}
.rsn-studio-nav > ul > li {
    position: relative;
}
.rsn-studio-nav a {
    color: var(--rsn-studio-header-text, #111111);
    text-decoration: none;
    font-family: var(--rsn-studio-menu-font-family, inherit);
    font-weight: var(--rsn-studio-menu-font-weight, 600);
    font-size: var(--rsn-studio-menu-font-size, 13px);
    letter-spacing: var(--rsn-studio-menu-letter-spacing, normal);
    white-space: nowrap;
}
.rsn-studio-nav a:hover {
    color: var(--rsn-studio-menu-hover-color, #007cba);
}

/* Sottomenu (voci figlie): tendina nascosta finche' non si passa sopra
   la voce padre, invece di uscire allineata alla pari nella stessa riga. */
.rsn-studio-nav ul ul {
    list-style: none;
    margin: 0;
    padding: 8px 0;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 180px;
    background: var(--rsn-studio-dropdown-bg, var(--rsn-studio-header-bg, #ffffff));
    border: 1px solid var(--rsn-studio-dropdown-border, rgba(0,0,0,.08));
    box-shadow: 0 8px 16px rgba(0,0,0,.08);
    display: none;
    z-index: 100;
}
.rsn-studio-nav ul ul li {
    display: block;
}
.rsn-studio-nav ul ul a {
    display: block;
    padding: 8px 16px;
    white-space: nowrap;
    font-weight: 400;
    color: var(--rsn-studio-dropdown-text, var(--rsn-studio-header-text, #111111));
}
.rsn-studio-nav ul ul a:hover {
    color: var(--rsn-studio-dropdown-hover, var(--rsn-studio-menu-hover-color, #007cba));
}
.rsn-studio-nav li:hover > ul,
.rsn-studio-nav li:focus-within > ul {
    display: block;
}
.rsn-studio-logo a {
    color: var(--rsn-studio-header-text, #111111);
}
.rsn-studio-logo img {
    max-height: var(--rsn-studio-logo-height, 60px);
    width: auto;
}

/* Footer: stessa logica, sfondo scuro fisso e testo sempre leggibile. */
.rsn-studio-footer {
    background: #111111;
    color: #ffffff;
}
.rsn-studio-footer a {
    color: #4fc3f7;
}
.rsn-studio-footer__columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 24px;
}
.rsn-studio-footer__column .widget-title {
    margin: 0 0 8px;
}

/* WooCommerce: bottoni/prezzi nel colore del tema invece del viola di
   default, e griglia prodotti che si adatta a schermi piu' stretti. */
.rsn-studio-woocommerce .button,
.rsn-studio-woocommerce .add_to_cart_button,
.rsn-studio-woocommerce #respond input#submit,
.rsn-studio-woocommerce a.button.alt {
    background-color: var(--rsn-studio-body-link-color, #007cba);
    color: #ffffff;
    border-radius: 6px;
}
.rsn-studio-woocommerce .star-rating,
.rsn-studio-woocommerce .price ins {
    color: var(--rsn-studio-body-link-color, #007cba);
}
@media (max-width: 782px) {
    .rsn-studio-woocommerce ul.products[class*="columns-"] li.product {
        width: 48% !important;
    }
}
@media (max-width: 480px) {
    .rsn-studio-woocommerce ul.products[class*="columns-"] li.product {
        width: 100% !important;
    }
}
