/*
Theme Name: Ludis Images
Theme URI: https://ludisimages.com
Author: Ludis Images
Author URI: https://ludisimages.com
Description: Tema personalizado de fotojornalismo desportivo para a Ludis Images. Design tipo jornal, com tipografia condensada, tira de contact sheet fotográfico, e páginas de credibilidade editorial (Ficha Técnica, Estatuto Editorial, Media Kit).
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ludis
*/

  :root{
    --paper:#EDEEE9; --paper-dim:#E2E3DB; --ink:#14161A; --ink-soft:#53565C;
    --pitch:#1E4D3B; --pitch-dim:#163B2D; --yellow:#E4B93A; --red:#B7333D; --rule:#C7C8BF;
    --display:'Oswald',sans-serif; --body:'Source Serif 4',serif; --mono:'IBM Plex Mono',monospace;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1200px;margin:0 auto;padding:0 28px;}
  .view{display:none;}
  .view.active{display:block;}

  /* utility bar */
  .utility{background:var(--ink);color:var(--paper-dim);font-family:var(--mono);font-size:12px;letter-spacing:.03em;}
  .utility .wrap{display:flex;justify-content:space-between;align-items:center;padding:8px 28px;}
  .utility .social{display:flex;gap:16px;opacity:.85;}

  /* masthead */
  .masthead{border-bottom:3px solid var(--ink);}
  .masthead .wrap{padding:28px 28px 18px;}
  .masthead-top{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:10px;}
  .logo{font-family:var(--display);font-weight:700;font-size:clamp(38px,6vw,58px);letter-spacing:.01em;line-height:.9;cursor:pointer;}
  .logo span{color:var(--pitch);}
  .tagline{font-family:var(--mono);font-size:12px;color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin-top:6px;}
  .edition{font-family:var(--mono);font-size:12px;text-align:right;color:var(--ink-soft);line-height:1.6;}
  nav.primary{display:flex;gap:26px;margin-top:20px;font-family:var(--display);font-size:15px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;}
  nav.primary a{padding-bottom:4px;border-bottom:2px solid transparent;transition:.15s;cursor:pointer;}
  nav.primary a:hover, nav.primary a.active{border-color:var(--pitch);color:var(--pitch);}

  /* ticker */
  .ticker{background:var(--pitch-dim);color:var(--yellow);overflow:hidden;white-space:nowrap;border-bottom:1px solid var(--ink);}
  .ticker-inner{display:inline-flex;font-family:var(--mono);font-size:13px;font-weight:500;padding:9px 0;animation:scroll 32s linear infinite;}
  @keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  .ticker-inner span{padding:0 26px;border-right:1px solid rgba(228,185,58,.3);}
  .live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:8px;}
  @media (prefers-reduced-motion: reduce){.ticker-inner{animation:none;}}

  .photo{position:relative;background:radial-gradient(circle at 1px 1px, rgba(20,22,26,.35) 1px, transparent 1.4px) 0 0/6px 6px, linear-gradient(155deg, var(--ph-a,#1E4D3B), var(--ph-b,#14161A));background-blend-mode:overlay;background-size:cover;background-position:center;display:flex;align-items:flex-end;}
  .photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top, rgba(20,22,26,.55), transparent 55%);}
  .photo.plain::after{display:none;}

  .eyebrow{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--pitch);display:inline-block;margin-bottom:10px;}
  .eyebrow.live{color:var(--red);}

  /* hero (home) */
  .hero{padding:36px 0 44px;border-bottom:1px solid var(--rule);}
  .carousel{position:relative;}
  .carousel-photo{aspect-ratio:21/9;cursor:pointer;}
  .carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;
    width:46px;height:46px;border-radius:50%;border:none;background:rgba(20,22,26,.55);color:#fff;
    font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
    transition:background .15s ease;}
  .carousel-arrow:hover{background:var(--pitch);}
  .carousel-arrow.prev{left:14px;}
  .carousel-arrow.next{right:14px;}
  .carousel-counter{position:absolute;top:14px;right:14px;z-index:5;background:rgba(20,22,26,.55);color:var(--paper);
    font-family:var(--mono);font-size:11.5px;padding:5px 10px;letter-spacing:.04em;}
  @media(max-width:700px){.carousel-photo{aspect-ratio:4/5;}}
  .hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:32px;}
  .hero-photo{aspect-ratio:16/10;cursor:pointer;}
  .hero-caption{position:relative;z-index:1;padding:18px 20px;color:var(--paper);}
  .hero-headline{font-family:var(--display);font-weight:600;font-size:clamp(24px,3vw,38px);line-height:1.06;margin:0 0 8px;}
  .hero-meta{font-family:var(--mono);font-size:11.5px;color:rgba(237,238,233,.8);}
  .hero-side{display:flex;flex-direction:column;gap:22px;}
  .side-story{padding-bottom:20px;border-bottom:1px solid var(--rule);cursor:pointer;}
  .side-story:last-child{border-bottom:none;padding-bottom:0;}
  .side-story h3{font-family:var(--display);font-weight:600;font-size:18px;margin:6px 0 6px;line-height:1.15;}
  .side-story p{font-size:14px;color:var(--ink-soft);margin:0 0 8px;line-height:1.5;}
  .meta-line{font-family:var(--mono);font-size:11px;color:var(--ink-soft);}

  /* section */
  .section{padding:44px 0;}
  .section + .section{border-top:1px solid var(--rule);}
  .section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;}
  .section-title{font-family:var(--display);font-weight:700;font-size:26px;text-transform:uppercase;letter-spacing:.02em;position:relative;padding-bottom:8px;}
  .section-title::after{content:'';position:absolute;left:0;bottom:0;width:46px;height:4px;background:var(--pitch);}
  .section-link{font-family:var(--mono);font-size:12px;color:var(--pitch);cursor:pointer;}

  .contact-sheet{display:flex;gap:2px;overflow-x:auto;background:var(--ink);padding:14px 14px 18px;}
  .frame{flex:0 0 180px;position:relative;cursor:pointer;}
  .frame .sprockets{display:flex;justify-content:space-between;padding:0 4px;}
  .frame .sprockets span{width:6px;height:6px;background:var(--paper-dim);border-radius:1px;margin:3px 0;}
  .frame-photo{aspect-ratio:4/5;margin:2px 0;}
  .frame-num{font-family:var(--mono);font-size:10px;color:var(--yellow);letter-spacing:.05em;padding:2px 4px 0;}
  .frame-cap{font-family:var(--mono);font-size:11px;color:var(--paper-dim);padding:2px 4px 6px;line-height:1.35;}

  /* credential */
  .credential{border:2px solid var(--ink);padding:26px 28px;position:relative;background:repeating-linear-gradient(45deg, transparent 0 10px, rgba(20,22,26,.02) 10px 20px);}
  .credential::before{content:'CREDENCIAL';position:absolute;top:-11px;left:24px;background:var(--paper);padding:0 8px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-soft);}
  .credential-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 32px;margin-top:6px;}
  .credential h3{font-family:var(--display);font-weight:600;font-size:20px;margin:0 0 4px;}
  .cred-item dt{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:3px;}
  .cred-item dd{margin:0;font-size:14px;}
  .stamp{position:absolute;right:26px;bottom:22px;width:78px;height:78px;border:2px solid var(--pitch);border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-9deg);color:var(--pitch);font-family:var(--mono);font-size:9.5px;font-weight:600;line-height:1.3;}

  /* category grid */
  .cat-header{padding:34px 0 10px;}
  .cat-header h1{font-family:var(--display);font-size:clamp(30px,4vw,44px);text-transform:uppercase;margin:0 0 6px;}
  .cat-header p{font-family:var(--mono);font-size:12px;color:var(--ink-soft);}
  .card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:26px 0 50px;}
  .card{cursor:pointer;}
  .card-photo{aspect-ratio:4/3;margin-bottom:12px;}
  .card h3{font-family:var(--display);font-weight:600;font-size:17px;margin:0 0 6px;line-height:1.2;}
  .card p{font-size:13.5px;color:var(--ink-soft);margin:0 0 6px;line-height:1.45;}
  @media(max-width:900px){.card-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:600px){.card-grid{grid-template-columns:1fr;}}
  .load-more-wrap{text-align:center;padding:10px 0 50px;}
  .btn-load-more{background:var(--ink);color:var(--paper);border:none;padding:13px 28px;font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;}
  .btn-load-more:hover{background:var(--pitch);}
  .btn-load-more.hidden{display:none;}

  .search-row{display:flex;align-items:center;gap:14px;margin:6px 0 22px;flex-wrap:wrap;}
  .search-input{flex:1;min-width:220px;max-width:420px;padding:11px 14px;border:1px solid var(--rule);background:#fff;font-family:var(--mono);font-size:13.5px;color:var(--ink);}
  .search-input:focus{outline:2px solid var(--pitch);outline-offset:1px;border-color:var(--pitch);}
  .search-count{font-family:var(--mono);font-size:11.5px;color:var(--ink-soft);}

  .comp-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}
  .comp-tab{font-family:var(--mono);font-size:11.5px;padding:7px 14px;border:1px solid var(--ink);background:transparent;color:var(--ink);text-transform:uppercase;letter-spacing:.03em;cursor:pointer;}
  .comp-tab:hover{border-color:var(--pitch);color:var(--pitch);}
  .comp-tab.on{background:var(--ink);color:var(--paper);border-color:var(--ink);}

  .home-search-wrap{position:relative;padding:22px 0 6px;}
  .home-search-input{width:100%;max-width:640px;padding:14px 16px;border:2px solid var(--ink);background:#fff;font-family:var(--mono);font-size:14px;color:var(--ink);}
  .home-search-input:focus{outline:none;border-color:var(--pitch);}
  .home-search-btn{margin-left:10px;padding:14px 22px;background:var(--ink);color:var(--paper);border:none;font-family:var(--display);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;}
  .home-search-btn:hover{background:var(--pitch);}
  .home-search-results{position:absolute;top:calc(100% + 2px);left:0;width:100%;max-width:640px;background:#fff;border:1px solid var(--ink);border-top:none;z-index:20;display:none;max-height:360px;overflow-y:auto;}
  .home-search-results.show{display:block;}
  .hs-item{display:flex;align-items:center;gap:12px;padding:9px 14px;cursor:pointer;border-bottom:1px solid var(--rule);}
  .hs-item:last-child{border-bottom:none;}
  .hs-item:hover{background:var(--paper-dim);}
  .hs-photo{width:44px;height:34px;flex-shrink:0;background-size:cover;background-position:center;background-color:var(--ink);}
  .hs-title{font-size:13.5px;line-height:1.3;}
  .hs-empty{padding:12px 14px;font-family:var(--mono);font-size:12px;color:var(--ink-soft);}
  .hs-more{padding:9px 14px;font-family:var(--mono);font-size:11.5px;color:var(--pitch);cursor:pointer;text-align:center;}
  .hs-more:hover{background:var(--paper-dim);}
  @media(max-width:500px){.home-search-btn{margin-left:0;margin-top:8px;width:100%;}}

  .breadcrumb{font-family:var(--mono);font-size:11.5px;color:var(--ink-soft);margin-bottom:14px;}
  .breadcrumb a{color:var(--pitch);cursor:pointer;text-decoration:underline;}
  .breadcrumb .sep{margin:0 6px;}

  .article-nav{display:flex;justify-content:space-between;gap:16px;max-width:700px;margin:0 auto 10px;padding-top:18px;border-top:1px solid var(--rule);}
  .article-nav-btn{flex:1;font-family:var(--mono);font-size:11.5px;color:var(--ink-soft);cursor:pointer;padding:10px 4px;}
  .article-nav-btn.next{text-align:right;}
  .article-nav-btn .dir{display:block;text-transform:uppercase;letter-spacing:.06em;color:var(--pitch);margin-bottom:4px;}
  .article-nav-btn .ttl{color:var(--ink);font-size:13px;line-height:1.3;}
  .article-nav-btn:hover .ttl{color:var(--pitch);}

  .newsletter-section{background:var(--ink);color:var(--paper);padding:44px 0;}

  .clubs-section{padding-top:10px;}
  .club-section-title{margin-bottom:22px;}
  .club-hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .club-hub{background:#fff;border:1px solid var(--rule);}
  .club-hub-top{position:relative;height:210px;background:var(--club-tint,var(--paper-dim));overflow:hidden;
    display:flex;align-items:flex-end;justify-content:center;}
  .club-hub-top::before{content:'';position:absolute;left:50%;bottom:-20%;width:78%;aspect-ratio:1/1;
    background:rgba(255,255,255,.55);border-radius:44% 56% 58% 42%/50% 45% 55% 50%;transform:translateX(-50%);}
  .club-hub-photo{position:relative;z-index:1;width:100%;height:100%;background-size:contain;background-repeat:no-repeat;
    background-position:center bottom;}
  .club-badge{position:absolute;top:14px;left:14px;z-index:2;width:46px;height:46px;border-radius:50%;
    background:var(--badge-bg,var(--pitch));color:#fff;display:flex;align-items:center;justify-content:center;
    font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.02em;border:3px solid #fff;
    box-shadow:0 2px 6px rgba(20,22,26,.2);}
  .club-hub-name{font-family:var(--display);font-weight:700;font-size:18px;text-transform:uppercase;padding:14px 16px 8px;}
  .club-hub-list{display:flex;flex-direction:column;}
  .clubhub-item{display:flex;gap:10px;align-items:center;padding:8px 16px;cursor:pointer;border-top:1px solid var(--rule);}
  .clubhub-item:hover{background:var(--paper-dim);}
  .clubhub-thumb{width:44px;height:34px;flex-shrink:0;background-size:cover;background-position:center;background-color:var(--ink);}
  .clubhub-title{font-size:12.5px;line-height:1.3;}
  .club-hub-more{width:100%;background:transparent;border:none;border-top:1px solid var(--rule);padding:12px;
    font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--pitch);cursor:pointer;}
  .club-hub-more:hover{background:var(--paper-dim);}
  @media(max-width:900px){.club-hub-grid{grid-template-columns:1fr;}}
  .newsletter-inner{max-width:560px;margin:0 auto;text-align:center;padding:0 28px;}
  .newsletter-inner h3{font-family:var(--display);font-weight:700;font-size:24px;text-transform:uppercase;margin:0 0 8px;}
  .newsletter-inner p{font-family:var(--mono);font-size:12.5px;color:var(--paper-dim);margin:0 0 22px;}
  .newsletter-form{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
  .newsletter-form input{flex:1;min-width:220px;padding:12px 14px;border:1px solid rgba(237,238,233,.3);background:transparent;color:var(--paper);font-family:var(--mono);font-size:13px;}
  .newsletter-form input::placeholder{color:rgba(237,238,233,.5);}
  .newsletter-form input:focus{outline:2px solid var(--yellow);border-color:var(--yellow);}
  .newsletter-form button{background:var(--pitch);color:var(--paper);border:none;padding:12px 24px;font-family:var(--display);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;}
  .newsletter-form button:hover{background:var(--pitch-dim);}
  .newsletter-note{font-family:var(--mono);font-size:11px;color:var(--yellow);margin-top:14px;display:none;}
  .newsletter-note.show{display:block;}

  .cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:100;background:var(--ink);color:var(--paper-dim);
    display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
    padding:14px 24px;font-family:var(--mono);font-size:12px;line-height:1.5;
    border-top:1px solid rgba(237,238,233,.15);transform:translateY(0);transition:transform .3s ease;}
  .cookie-banner.hidden{transform:translateY(120%);}
  .cookie-text{flex:1;min-width:240px;}
  .cookie-text a{color:var(--yellow);text-decoration:underline;cursor:pointer;}
  .cookie-btn{background:var(--pitch);color:var(--paper);border:none;padding:10px 22px;font-family:var(--display);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;white-space:nowrap;}
  .cookie-btn:hover{background:var(--pitch-dim);}

  .back-to-top{position:fixed;right:22px;bottom:22px;z-index:90;width:44px;height:44px;border-radius:50%;
    background:var(--ink);color:var(--paper);border:none;font-size:18px;cursor:pointer;
    opacity:0;pointer-events:none;transition:opacity .2s ease, background .15s ease;box-shadow:0 2px 10px rgba(20,22,26,.3);}
  .back-to-top.show{opacity:1;pointer-events:auto;}
  .back-to-top:hover{background:var(--pitch);}

  /* Ajustes para elementos gerados pelo WordPress (paginação nativa, links em vez de botões) */
  .comp-tab{text-decoration:none;display:inline-block;}
  .card{text-decoration:none;}
  .frame{text-decoration:none;}
  .clubhub-item{text-decoration:none;}
  .related-card{text-decoration:none;}
  .load-more-wrap .page-numbers{font-family:var(--mono);font-size:12px;padding:9px 14px;border:1px solid var(--ink);
    color:var(--ink);text-decoration:none;margin:0 4px;display:inline-block;}
  .load-more-wrap .page-numbers.current{background:var(--ink);color:var(--paper);}
  .load-more-wrap .page-numbers:hover{background:var(--pitch);color:var(--paper);border-color:var(--pitch);}

  /* article view */
  .article-top{padding:30px 0 0;}
  .back-link{font-family:var(--mono);font-size:12px;color:var(--pitch);cursor:pointer;display:inline-block;margin-bottom:18px;}

  .share-row{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap;}
  .share-label{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}
  .share-btn{font-family:var(--mono);font-size:11.5px;padding:6px 12px;border:1px solid var(--ink);background:transparent;color:var(--ink);text-decoration:none;cursor:pointer;text-transform:uppercase;letter-spacing:.03em;}
  .share-btn:hover{background:var(--ink);color:var(--paper);}
  .share-btn.copied{background:var(--pitch);color:var(--paper);border-color:var(--pitch);}

  .author-box{display:flex;align-items:center;gap:14px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:18px 4px;margin:10px auto 6px;max-width:700px;cursor:pointer;}
  .author-box:hover .author-role{color:var(--pitch);}
  .author-avatar{width:44px;height:44px;border-radius:50%;background:var(--pitch);color:var(--yellow);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:600;font-size:14px;flex-shrink:0;}
  .author-name{font-family:var(--display);font-weight:600;font-size:15px;}
  .author-role{font-family:var(--mono);font-size:11.5px;color:var(--ink-soft);margin-top:2px;transition:color .15s ease;}

  .related-wrap{padding:10px 0 60px;}
  .related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .related-card{cursor:pointer;}
  .related-photo{aspect-ratio:4/3;margin-bottom:8px;}
  .related-card h4{font-family:var(--display);font-weight:600;font-size:14px;margin:0;line-height:1.25;}
  @media(max-width:700px){.related-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:480px){.related-grid{grid-template-columns:1fr;}}
  .article-hero{aspect-ratio:16/8;margin-bottom:6px;}
  .hero-photo-credit{font-family:var(--mono);font-size:11px;font-style:italic;color:var(--ink-soft);text-align:right;margin-bottom:22px;}
  .article-header{max-width:760px;margin:0 auto 30px;}
  .article-header h1{font-family:var(--display);font-weight:600;font-size:clamp(28px,4vw,42px);line-height:1.08;margin:0 0 14px;}
  .article-dek{font-size:18px;color:var(--ink-soft);line-height:1.5;margin:0 0 16px;font-style:italic;}
  .byline{font-family:var(--mono);font-size:12px;color:var(--ink-soft);display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:10px 0;}
  .article-body{max-width:700px;margin:0 auto;font-size:17px;line-height:1.7;padding-bottom:20px;}
  .article-body p{margin:0 0 20px;}
  .article-body img{max-width:100%;height:auto;display:block;margin:24px auto;}
  .article-body figure{margin:24px 0;}
  .article-body figure img{margin:0 auto;}
  .article-body figcaption{font-family:var(--mono);font-size:11.5px;color:var(--ink-soft);text-align:center;margin-top:8px;}
  .article-body figcaption.ludis-photo-credit{font-style:italic;color:var(--ink-soft);}
  .article-body figcaption.ludis-photo-credit::before{content:'© ';}
  .article-body .alignleft{float:left;margin:6px 24px 12px 0;max-width:45%;}
  .article-body .alignright{float:right;margin:6px 0 12px 24px;max-width:45%;}
  .article-body .aligncenter{display:block;margin:24px auto;}
  .article-body .wp-block-gallery{max-width:100%;}
  .article-body .wp-block-gallery img{margin:0;}
  .article-gallery{padding:20px 0 60px;}
  .gallery-title{font-family:var(--display);font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:14px;text-align:center;}
  .gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;background:var(--ink);padding:3px;}
  .gallery-grid .photo{aspect-ratio:1;}
  @media(max-width:700px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}

  footer{background:var(--ink);color:var(--paper-dim);margin-top:10px;}
  footer .wrap{padding:36px 28px 26px;}
  .footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;border-bottom:1px solid rgba(237,238,233,.15);padding-bottom:22px;margin-bottom:16px;}
  .footer-logo{font-family:var(--display);font-weight:700;font-size:24px;}
  .footer-nav{display:flex;gap:20px;font-family:var(--mono);font-size:12px;flex-wrap:wrap;}
  .footer-bottom{font-family:var(--mono);font-size:11px;color:rgba(237,238,233,.55);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}
  .footer-legal-links a{cursor:pointer;text-decoration:underline;}
  .footer-legal-links a:hover{color:var(--yellow);}

  /* legal pages: ficha tecnica / estatuto editorial / contacto */
  .legal-page{padding:34px 0 70px;max-width:640px;}
  .legal-title{font-family:var(--display);font-weight:700;font-size:clamp(26px,3.6vw,36px);text-transform:uppercase;margin:6px 0 26px;border-bottom:3px solid var(--pitch);padding-bottom:14px;}
  .legal-list{margin:0;}
  .legal-list > div{display:flex;gap:18px;padding:12px 0;border-bottom:1px solid var(--rule);}
  .legal-list dt{flex:0 0 220px;font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);}
  .legal-list dd{margin:0;font-size:14.5px;}
  .legal-text p{font-size:15.5px;line-height:1.7;margin:0 0 16px;color:var(--ink);}
  .legal-note{font-family:var(--mono);font-size:12px;color:var(--ink-soft);margin-top:20px;}
  .qs-photo-wrap{margin:6px 0 26px;}
  .qs-photo{width:100%;max-width:420px;height:auto;display:block;filter:grayscale(15%);}
  .mk-subhead{font-family:var(--display);font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.04em;color:var(--pitch);margin:26px 0 8px;border-bottom:1px solid var(--rule);padding-bottom:6px;}
  .mk-body{font-size:15px;line-height:1.65;margin:0 0 4px;}
  .mk-list{margin:0 0 4px;padding-left:20px;font-size:15px;line-height:1.7;}
  .mk-link{color:var(--pitch);text-decoration:underline;cursor:pointer;}
  @media (max-width:600px){
    .legal-list > div{flex-direction:column;gap:3px;}
    .legal-list dt{flex:none;}
  }

  @media (max-width:760px){
    .hero-grid{grid-template-columns:1fr;}
    .credential-grid{grid-template-columns:1fr;}
    .stamp{position:static;margin-top:16px;transform:rotate(-4deg);}
  }
