/**
 * GMC Cinematic Noir — Componenti riusabili (chi-siamo, faq, hub, locale)
 */

/* Chi Siamo */
.gmc-chi-siamo,
.gmc-faq-page,
.gmc-servizi-hub,
.gmc-local-page {
    background: var(--gmc-navy-deep);
}

.gmc-cs-title {
    font-size: clamp(2.2rem, 5vw, 4rem);
    margin: 1rem 0 1.5rem;
    line-height: 1.05;
}
.gmc-cs-lead {
    color: var(--gmc-white-75);
    font-size: 1.15rem;
    line-height: 1.6;
    max-width: 720px;
    margin-bottom: 2rem;
}
.gmc-cs-facts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    margin: 0;
    padding-top: 2rem;
    border-top: 1px solid var(--gmc-white-08);
}
@media (max-width: 768px) {
    .gmc-cs-facts { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
}
@media (max-width: 480px) {
    .gmc-cs-facts { grid-template-columns: 1fr; }
}
.gmc-cs-facts dt {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--gmc-magenta);
    margin-bottom: 0.4rem;
}
.gmc-cs-facts dd {
    margin: 0;
    color: var(--gmc-white);
    font-size: 1rem;
}

/* Team Image */
.gmc-cs-team-image {
    max-width: 880px;
    margin: 2.5rem auto 0;
    text-align: center;
}
.gmc-cs-team-image img {
    width: 100%;
    height: auto;
    display: block;
    filter: drop-shadow(0 20px 50px rgba(224, 0, 180, 0.18));
}

/* CSS prose reuse */
.gmc-cs-manifesto .gmc-section-title { margin-bottom: 2rem; }

/* ============ 404 PAGE ============ */
.gmc-404 {
    background: var(--gmc-navy-deep);
    padding: var(--gmc-section-py) 0;
}
.gmc-404-top {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 4rem;
}
.gmc-404-top h1 {
    font-size: clamp(2.5rem, 6vw, 4rem);
    margin: 1rem 0 1.5rem;
}
.gmc-404-lead {
    color: var(--gmc-white-75);
    font-size: 1.1rem;
    margin-bottom: 2rem;
}
.gmc-404-search {
    display: flex;
    gap: 0.5rem;
    max-width: 480px;
    margin: 0 auto;
}
.gmc-404-search input {
    flex: 1;
    padding: 0.85rem 1.1rem;
    background: var(--gmc-card);
    border: 1px solid var(--gmc-white-10);
    border-radius: var(--gmc-radius-pill);
    color: var(--gmc-white);
    font-family: inherit;
    font-size: 0.95rem;
}
.gmc-404-search input:focus {
    outline: 0;
    border-color: var(--gmc-magenta);
}
.gmc-404-suggestions h2 {
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 2rem;
    color: var(--gmc-white-75);
}
.gmc-404-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 4rem;
}
@media (max-width: 768px) { .gmc-404-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .gmc-404-grid { grid-template-columns: 1fr; } }
.gmc-404-card {
    display: block;
    padding: 1.5rem;
    background: var(--gmc-card);
    border: 1px solid var(--gmc-white-08);
    border-radius: var(--gmc-radius);
    transition: transform .2s ease, border-color .2s ease;
}
.gmc-404-card:hover {
    transform: translateY(-3px);
    border-color: rgba(224, 0, 180, 0.35);
}
.gmc-404-card-eyebrow {
    display: block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gmc-magenta);
    margin-bottom: 0.5rem;
}
.gmc-404-card strong {
    display: block;
    color: var(--gmc-white);
    font-size: 1.1rem;
    margin-bottom: 0.35rem;
}
.gmc-404-card span:not(.gmc-404-card-eyebrow) {
    color: var(--gmc-white-60);
    font-size: 0.88rem;
}
.gmc-404-card-cta {
    background: linear-gradient(135deg, rgba(224, 0, 180, 0.15), rgba(139, 0, 255, 0.1));
    border-color: rgba(224, 0, 180, 0.3);
}
.gmc-404-articles h3 {
    text-align: center;
    font-size: 1.25rem;
    color: var(--gmc-white-75);
    margin-bottom: 2rem;
}
.gmc-404-articles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}
@media (max-width: 768px) { .gmc-404-articles-grid { grid-template-columns: 1fr; } }

/* ============ BLOG GRID + CARDS (per home.php, archive.php) ============ */
.gmc-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-bottom: 4rem;
}
@media (max-width: 960px) { .gmc-blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .gmc-blog-grid { grid-template-columns: 1fr; } }
.gmc-blog-card {
    background: var(--gmc-card);
    border: 1px solid var(--gmc-white-08);
    border-radius: var(--gmc-radius-lg);
    overflow: hidden;
    transition: transform .3s ease, border-color .3s ease;
}
.gmc-blog-card:hover {
    transform: translateY(-4px);
    border-color: rgba(224, 0, 180, 0.3);
}
.gmc-blog-card-link {
    display: block;
    color: inherit;
}
.gmc-blog-card-link:hover { color: inherit; }
.gmc-blog-card-image {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--gmc-surface);
}
.gmc-blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}
.gmc-blog-card:hover .gmc-blog-card-image img { transform: scale(1.04); }
.gmc-blog-card-body { padding: 1.5rem; }
.gmc-blog-card-body .gmc-eyebrow { font-size: 0.7rem; margin-bottom: 0.5rem; }
.gmc-blog-card-body h2 {
    font-size: 1.2rem;
    margin: 0 0 0.65rem;
    line-height: 1.3;
    color: var(--gmc-white);
}
.gmc-blog-card-body p {
    color: var(--gmc-white-60);
    font-size: 0.92rem;
    margin: 0 0 1rem;
    line-height: 1.55;
}
.gmc-blog-card-meta {
    display: block;
    font-size: 0.78rem;
    color: var(--gmc-white-45);
    letter-spacing: 0.05em;
}

/* ============ PAGINATION ============ */
.gmc-pagination {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
}
.gmc-pagination .nav-links {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
}
.gmc-pagination a,
.gmc-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 0.75rem;
    border-radius: var(--gmc-radius-sm);
    background: var(--gmc-card);
    border: 1px solid var(--gmc-white-08);
    color: var(--gmc-white-75);
    font-weight: 600;
    font-size: 0.9rem;
    transition: all .2s ease;
}
.gmc-pagination a:hover {
    background: var(--gmc-white-05);
    border-color: rgba(224, 0, 180, 0.4);
    color: var(--gmc-white);
}
.gmc-pagination .current {
    background: var(--gmc-magenta);
    color: white;
    border-color: var(--gmc-magenta);
}

/* ============ BLOG SINGLE ============ */
.gmc-blog-header { padding-top: 2rem !important; }
.gmc-blog-header h1 {
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    margin: 1rem 0 1.5rem;
    line-height: 1.15;
}
.gmc-blog-meta {
    color: var(--gmc-white-60);
    font-size: 0.9rem;
}
.gmc-blog-cover {
    margin: 0 0 3rem;
}
.gmc-blog-cover img {
    width: 100%;
    height: auto;
    border-radius: var(--gmc-radius-lg);
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
.gmc-blog-content { padding-top: 0 !important; }
.gmc-blog-cta {
    background: var(--gmc-navy);
}

/* ============================================================
   v1.3.1 — Phone mockup per video verticali (4G)
   ============================================================ */
.gmc-phone-mockup {
    position: relative;
    width: 100%;
    max-width: 280px;
    aspect-ratio: 9 / 19.5;
    margin: 0 auto;
    background: #0a0a1a;
    border-radius: 36px;
    border: 8px solid #1a1a2e;
    box-shadow: 0 25px 60px rgba(224,0,180,0.3),
                0 0 0 2px rgba(255,255,255,0.05);
    overflow: hidden;
}
.gmc-phone-mockup::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 30%;
    height: 22px;
    background: #000;
    border-radius: 0 0 14px 14px;
    z-index: 3;
}
.gmc-phone-mockup::after {
    content: '';
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 35%;
    height: 4px;
    background: rgba(255,255,255,0.3);
    border-radius: 2px;
    z-index: 3;
}
.gmc-phone-mockup video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Phone mockup nella sezione "Non è una catena" e contatti */
.gmc-puzzle-section .gmc-phone-mockup { margin-top: 2.5rem; }
.gmc-contact-mockup { margin: 2rem 0; }
.gmc-contact-info .gmc-phone-mockup { max-width: 220px; margin: 0 0 0.5rem; }

/* ============================================================
   v1.3.1 — Griglia loghi meme "clienti finti" (4D)
   ============================================================ */
.gmc-fake-logos-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    max-width: 760px;
    margin: 3rem auto 1.5rem;
    opacity: 0.55;
    filter: grayscale(0.3);
    align-items: center;
}
.gmc-fake-logo-puzzle { width: 100%; height: auto; display: block; }
@media (max-width: 600px) {
    .gmc-fake-logos-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   v1.3.1 — Mascotte 404 (4K)
   ============================================================ */
.gmc-404-mascot {
    display: block;
    width: 200px;
    max-width: 55vw;
    height: auto;
    margin: 0 auto 1.5rem;
}

/* ============================================================
   v1.3.7 — Box CTA tool dentro gli articoli del blog
   ============================================================ */
.gmc-article-tool-cta {
    margin: 2.4rem 0;
    padding: 1.4rem 1.6rem;
    border: 1px solid rgba(224, 0, 180, 0.35);
    border-left: 4px solid var(--gmc-magenta, #e000b4);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(224,0,180,0.08), rgba(139,0,255,0.05));
}
.gmc-article-tool-cta p { margin: 0; font-size: 1.02rem; line-height: 1.6; }
.gmc-article-tool-cta a { color: var(--gmc-magenta, #e000b4); font-weight: 600; }

/* ============================================================
   v1.3.10 — Manifesto Chi siamo: layout testo + video adv_4
   ============================================================ */
.gmc-cs-manifesto-grid {
    display: grid;
    grid-template-columns: 1.3fr 0.9fr;
    gap: 3rem;
    align-items: center;
}
.gmc-cs-manifesto-video .gmc-phone-mockup {
    max-width: 230px;
    margin: 0 auto;
}
@media (max-width: 860px) {
    .gmc-cs-manifesto-grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .gmc-cs-manifesto-video .gmc-phone-mockup { max-width: 200px; }
}

/* ============================================================
   v1.3.11 — Componenti globali aggiunti
   ============================================================ */

/* Riga di bottoni centrata con spaziatura reale (no margin-left che si
   accavalla su mobile). Usata in hub servizi, local pages, FAQ. */
.gmc-btn-row {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

/* FAQ ACCORDION — spostato qui da servizio.css così è disponibile su
   TUTTE le pagine (pagina FAQ inclusa), non solo sui servizi.
   Prima la pagina /faq mostrava i <details> grezzi col triangolino. */
.gmc-faq-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 3rem;
}
.gmc-faq-item {
    background: var(--gmc-card);
    border: 1px solid var(--gmc-white-08);
    border-radius: var(--gmc-radius);
    overflow: hidden;
    transition: border-color .2s ease;
}
.gmc-faq-item[open] { border-color: rgba(224, 0, 180, 0.3); }
.gmc-faq-item summary {
    cursor: pointer;
    padding: 1.25rem 1.5rem;
    font-weight: 600;
    font-size: 1.05rem;
    color: var(--gmc-white);
    list-style: none;
    position: relative;
    padding-right: 3rem;
}
.gmc-faq-item summary::-webkit-details-marker { display: none; }
.gmc-faq-item summary::after {
    content: '+';
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--gmc-magenta);
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1;
    transition: transform .2s ease;
}
.gmc-faq-item[open] summary::after { content: '−'; }
.gmc-faq-item > div {
    padding: 0 1.5rem 1.5rem;
    color: var(--gmc-white-75);
    line-height: 1.7;
}

/* ============================================================
   v1.3.12 — Sezione "Dal blog" / articoli correlati (pagine servizio)
   ============================================================ */
.gmc-related-posts { background: var(--gmc-navy-deep); }
.gmc-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
@media (max-width: 960px) { .gmc-related-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .gmc-related-grid { grid-template-columns: 1fr; } }
.gmc-related-card {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    background: var(--gmc-card);
    border: 1px solid var(--gmc-white-08);
    border-radius: var(--gmc-radius-lg);
    padding: 1.6rem;
    transition: transform .3s ease, border-color .3s ease;
}
.gmc-related-card:hover {
    transform: translateY(-4px);
    border-color: rgba(224, 0, 180, 0.4);
}
.gmc-related-date {
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gmc-white-45);
}
.gmc-related-title {
    font-size: 1.12rem;
    line-height: 1.35;
    margin: 0;
    color: var(--gmc-white);
}
.gmc-related-excerpt {
    color: var(--gmc-white-60);
    font-size: 0.92rem;
    line-height: 1.55;
    margin: 0;
    flex: 1;
}
.gmc-related-cta {
    color: var(--gmc-magenta);
    font-weight: 600;
    font-size: 0.88rem;
    margin-top: 0.4rem;
}
.gmc-related-card:hover .gmc-related-cta span { padding-left: 3px; }

/* ============================================================
   v1.3.17 — Box autore / fondatrice (E-E-A-T): articoli + Chi Siamo
   ============================================================ */
.gmc-author-card {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
    padding: 1.75rem;
    border: 1px solid var(--gmc-white-08, rgba(255,255,255,0.08));
    border-radius: 16px;
    background: var(--gmc-card, #13131f);
}
.gmc-author-avatar {
    width: 76px;
    height: 76px;
    flex: 0 0 76px;
    border-radius: 50%;
    object-fit: contain;
    background: rgba(224,0,180,0.08);
    border: 1px solid rgba(224,0,180,0.25);
}
.gmc-author-body { flex: 1; min-width: 0; }
.gmc-author-name {
    margin: 0.35rem 0 0.6rem;
    font-weight: 700;
    color: var(--gmc-white, #ffffff);
    font-size: 1.1rem;
}
.gmc-author-name span {
    display: block;
    font-weight: 500;
    font-size: 0.9rem;
    color: var(--gmc-magenta, #e000b4);
}
.gmc-author-bio {
    margin: 0 0 0.9rem;
    color: var(--gmc-white-75, rgba(255,255,255,0.75));
    line-height: 1.7;
    font-size: 0.98rem;
}
.gmc-author-link {
    color: var(--gmc-magenta, #e000b4);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 600;
    font-size: 0.95rem;
}
@media (max-width: 600px) {
    .gmc-author-card { flex-direction: column; gap: 1rem; padding: 1.25rem; }
}
