    /* =========================================================
       FIX RESPONSIVO HERO — a regra desktop mais específica da
       iteração ORI estava a manter duas colunas em mobile/tablet.
       ========================================================= */
    @media (max-width: 1020px) {
      .ori2-home .ori2-hero-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 34px;
      }

      .ori2-home .ori2-hero-copy {
        width: 100%;
        max-width: 760px;
        margin-inline: auto;
      }

      .ori2-home .ori2-hero-art {
        width: 100%;
        max-width: 720px;
        margin-inline: auto;
      }
    }

    @media (max-width: 720px) {
      .ori2-home .ori2-hero-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) !important;
        width: min(100% - 40px, var(--ori2-max));
        gap: 28px;
      }

      .ori2-home .ori2-hero-copy {
        min-width: 0;
        width: 100%;
        max-width: none;
        margin-inline: 0;
        text-align: center;
      }

      .ori2-home .ori2-display {
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
      }

      .ori2-home .ori2-lead {
        width: 100%;
        max-width: 34rem;
        margin-left: auto;
        margin-right: auto;
      }

      .ori2-home .ori2-hero-art {
        width: 100%;
        max-width: none;
        min-height: 420px;
        margin-inline: 0;
      }
    }


    /* =========================================================
       v10.1 — AJUSTE APENAS DO BLOCO VISUAL DA HERO EM MOBILE
       Mantém a v10 como base.
       ========================================================= */
    @media (max-width: 720px) {
      .ori2-home .ori2-hero-art {
        min-height: 560px;
        border-radius: 22px;
        overflow: hidden;
      }

      .ori2-home .ori2-art-kicker {
        top: 18px;
        left: 18px;
        z-index: 6;
      }

      .ori2-home .ori2-art-product--main {
        width: calc(100% - 36px);
        height: 290px;
        aspect-ratio: auto;
        top: 58px;
        left: 18px;
        right: auto;
        border-radius: 22px;
        transform: none;
        z-index: 1;
      }

      .ori2-home .ori2-art-product--main img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center 48%;
      }

      .ori2-home .ori2-art-product--small {
        width: 48%;
        min-width: 158px;
        aspect-ratio: auto;
        min-height: 150px;
        left: 18px;
        top: 270px;
        bottom: auto;
        padding: 20px 18px;
        border-radius: 20px;
        transform: none;
        z-index: 3;
        background: rgba(255,255,255,.92);
        backdrop-filter: blur(8px);
      }

      .ori2-home .ori2-art-discover {
        align-content: center;
      }

      .ori2-home .ori2-art-discover span {
        font-size: 11px;
        line-height: 1.1;
        margin-bottom: 7px;
      }

      .ori2-home .ori2-art-discover strong {
        font-size: 22px;
        line-height: 1.02;
        letter-spacing: -.035em;
      }

      .ori2-home .ori2-art-note {
        left: 18px;
        right: 18px;
        bottom: 18px;
        max-width: none;
        padding: 16px 18px;
        border-radius: 17px;
        z-index: 5;
      }

      .ori2-home .ori2-art-note small {
        margin-bottom: 4px;
        font-size: 12px;
      }

      .ori2-home .ori2-art-note strong {
        font-size: 16px;
        line-height: 1.22;
      }
    }

    @media (max-width: 390px) {
      .ori2-home .ori2-hero-art {
        min-height: 575px;
      }

      .ori2-home .ori2-art-product--main {
        height: 280px;
      }

      .ori2-home .ori2-art-product--small {
        width: 52%;
        min-width: 150px;
        top: 260px;
      }

      .ori2-home .ori2-art-discover strong {
        font-size: 20px;
      }
    }


    /* =========================================================
       v10.2 — HERO MOBILE MAIS HARMONIZADO
       Mantém a v10 como base e refina apenas a composição visual
       do painel direito em ecrãs móveis.
       ========================================================= */
    @media (max-width: 720px) {
      .ori2-home .ori2-hero-art {
        min-height: 540px;
        padding: 0;
        border-radius: 22px;
        background:
          radial-gradient(circle at 82% 18%, rgba(255,255,255,.62), transparent 28%),
          linear-gradient(145deg, #f5e2e9 0%, #f7eee9 64%, #efe8e1 100%);
      }

      .ori2-home .ori2-art-kicker {
        top: 18px;
        left: 18px;
        padding: 8px 11px;
        z-index: 7;
      }

      .ori2-home .ori2-art-product--main {
        width: calc(100% - 36px);
        height: 288px;
        top: 58px;
        left: 18px;
        right: auto;
        border-radius: 20px;
        transform: none;
        overflow: hidden;
        z-index: 1;
        box-shadow: none;
        border: 1px solid rgba(255,255,255,.72);
      }

      .ori2-home .ori2-art-product--main img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center 50%;
      }

      /* Cartão branco mais leve e menos dominante */
      .ori2-home .ori2-art-product--small {
        width: auto;
        min-width: 0;
        max-width: 205px;
        min-height: auto;
        left: 28px;
        top: 278px;
        bottom: auto;
        padding: 16px 18px 17px;
        border-radius: 16px;
        transform: none;
        z-index: 4;
        background: rgba(255,255,255,.94);
        border: 1px solid rgba(255,255,255,.82);
        box-shadow: 0 14px 30px rgba(50,34,26,.10);
        backdrop-filter: blur(10px);
      }

      .ori2-home .ori2-art-discover {
        display: block;
        text-align: left;
      }

      .ori2-home .ori2-art-discover span {
        display: block;
        margin-bottom: 6px;
        font-size: 10px;
        line-height: 1.1;
        letter-spacing: .1em;
      }

      .ori2-home .ori2-art-discover strong {
        display: block;
        font-size: 20px;
        line-height: 1.03;
        letter-spacing: -.035em;
      }

      /* Bloco preto aproxima-se visualmente da fotografia,
         com a mesma margem lateral */
      .ori2-home .ori2-art-note {
        left: 18px;
        right: 18px;
        bottom: 18px;
        max-width: none;
        padding: 15px 17px 16px;
        border-radius: 16px;
        z-index: 6;
        box-shadow: 0 16px 34px rgba(30,20,17,.12);
      }

      .ori2-home .ori2-art-note small {
        display: block;
        margin-bottom: 4px;
        font-size: 11px;
        line-height: 1.2;
      }

      .ori2-home .ori2-art-note strong {
        display: block;
        font-size: 15px;
        line-height: 1.23;
      }
    }

    @media (max-width: 390px) {
      .ori2-home .ori2-hero-art {
        min-height: 550px;
      }

      .ori2-home .ori2-art-product--main {
        height: 280px;
      }

      .ori2-home .ori2-art-product--small {
        max-width: 188px;
        left: 24px;
        top: 272px;
        padding: 15px 16px;
      }

      .ori2-home .ori2-art-discover strong {
        font-size: 19px;
      }
    }


/* Reusable product selection — inactive until called server-side. */
.ori2-selection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ori2-selection-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--ori2-line);border-radius:18px;background:#fff}.ori2-selection-card>img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:20px;background:var(--ori2-warm)}.ori2-selection-card>div{padding:20px}.ori2-selection-card h3{margin:6px 0 0;font-size:19px;line-height:1.15}.ori2-selection-card p{margin:9px 0 0;color:var(--ori2-muted);font-size:14px}.ori2-selection-meta{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ori2-pink-dark)}@media(max-width:900px){.ori2-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.ori2-selection-grid{grid-template-columns:1fr}}
