/* R66 — opções compactas e douradas */
.r66-options{
  margin:14px 0;
  padding:16px;
  border:1px solid rgba(185,137,34,.28);
  border-radius:14px;
  background:linear-gradient(180deg,#fffdf8,#fffaf0);
}
.r66-options-head b{display:block;font-size:1rem}
.r66-options-head span{display:block;margin-top:4px;color:var(--muted);font-size:.84rem}
.r66-option-grid{display:grid;gap:10px;margin-top:14px}
.r66-option-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.42fr);gap:10px}
.r66-option-note{margin-top:10px;font-size:.8rem;color:var(--muted);line-height:1.4}

@media(max-width:720px){
  #detailModal .r30-choice-row{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding-bottom:3px;
  }
  #detailModal .r30-choice-row::-webkit-scrollbar{display:none}
  #detailModal .r30-choice{
    flex:0 0 auto!important;
    min-width:0!important;
    padding:7px 12px!important;
    border-radius:999px!important;
    font-size:.88rem!important;
    line-height:1.15!important;
    color:#9a6c00!important;
    border:1px solid #d9b55b!important;
    background:#fffaf0!important;
    box-shadow:none!important;
    white-space:nowrap!important;
  }
  #detailModal .r30-choice.active{
    color:#2f2113!important;
    border-color:#c79218!important;
    background:#e5bd55!important;
    font-weight:800!important;
  }
  .r66-option-row{grid-template-columns:minmax(0,1fr) 120px}
}

/* R69 — contenção real da ficha no mobile */
@media(max-width:720px){
  #detailModal,
  #detailModal .modal-card,
  #detailModal #detailBody,
  #detailModal .r30-detail,
  #detailModal .r30-detail>div{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  #detailModal .r30-detail{
    width:100%!important;
    overflow-x:hidden!important;
  }

  #detailModal .r30-detail h2{
    max-width:100%!important;
    margin:8px 0 14px!important;
    font-size:clamp(2rem,9.2vw,2.65rem)!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  #detailModal .r30-detail .meta{
    max-width:100%!important;
    width:max-content!important;
    font-size:.72rem!important;
    line-height:1.2!important;
    padding:7px 11px!important;
    white-space:normal!important;
  }

  #detailModal .r30-variation{
    width:100%!important;
    min-width:0!important;
    margin:12px 0!important;
    overflow:hidden!important;
  }

  #detailModal .r30-mini-title{
    font-size:.82rem!important;
    line-height:1.2!important;
    margin-bottom:7px!important;
  }

  /* Mantém uma linha, mas o trilho nunca aumenta a largura da página. */
  #detailModal .r30-choice-row{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:1px 2px 5px!important;
    gap:6px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
  }

  #detailModal .r30-choice{
    flex:0 0 auto!important;
    max-width:min(46vw,180px)!important;
    padding:6px 11px!important;
    font-size:.82rem!important;
    line-height:1.1!important;
    text-overflow:ellipsis!important;
    overflow:hidden!important;
    scroll-snap-align:start;
  }

  #detailModal .detail-price,
  #detailModal #r30DetailPrice{
    max-width:100%!important;
    margin:16px 0!important;
    font-size:clamp(2rem,9vw,2.55rem)!important;
    line-height:1!important;
    overflow-wrap:anywhere!important;
  }

  #detailModal .box{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:11px!important;
    border-radius:14px!important;
    box-sizing:border-box!important;
  }

  #detailModal .box h4{
    font-size:.9rem!important;
    margin-bottom:8px!important;
  }

  #detailModal .gg-payment-choice{
    width:100%!important;
    min-width:0!important;
    gap:8px!important;
  }

  #detailModal .gg-pay-option{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:12px 13px!important;
    border-radius:13px!important;
    box-sizing:border-box!important;
  }

  #detailModal .gg-pay-option strong{
    font-size:1rem!important;
    line-height:1.15!important;
  }

  #detailModal .gg-pay-option span{
    font-size:.82rem!important;
    line-height:1.25!important;
  }

  #detailModal #selectedSummary{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:10px 12px!important;
    font-size:.82rem!important;
    line-height:1.35!important;
    overflow-wrap:anywhere!important;
    box-sizing:border-box!important;
  }
}

@media(max-width:390px){
  #detailModal .r30-detail h2{
    font-size:clamp(1.85rem,8.9vw,2.2rem)!important;
  }
  #detailModal .r30-choice{
    max-width:43vw!important;
    padding:6px 10px!important;
    font-size:.78rem!important;
  }
  #detailModal .detail-price,
  #detailModal #r30DetailPrice{
    font-size:2rem!important;
  }
}
