/* Contact form extras, v7. Button shrinks to flag + code + caret. Do not use CSS columns: global ul{columns:2} breaks overflow scroll. */
.phone-row{display:flex;gap:8px;align-items:stretch;width:100%;margin-top:4px}
.phone-row>input{flex:1 1 auto;min-width:0;margin-top:0!important}
.cc-wrap{position:relative;flex:0 0 auto;width:auto;max-width:none}
.cc-btn{display:inline-flex!important;align-items:center;gap:6px;cursor:pointer;width:auto!important;min-width:0!important;max-width:none!important;margin-top:0!important;padding:11px 8px 11px 10px!important;text-align:left;color:inherit;line-height:1.2;white-space:nowrap}
.cc-flag{width:22px;height:16px;object-fit:cover;border-radius:2px;flex:none;display:block;box-shadow:0 0 0 1px rgba(0,0,0,.12);background:#eee}
.cc-code{font-weight:700;letter-spacing:.01em}
.cc-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.65;flex:none;margin-left:1px}
.cc-list{
  position:absolute;z-index:40;left:0;top:calc(100% + 4px);bottom:auto;
  margin:0;padding:4px;
  list-style:none;
  background:#fff;border:1px solid var(--line,#ccc);border-radius:10px;
  width:max-content;min-width:280px;max-width:min(90vw,360px);
  max-height:280px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  box-shadow:0 10px 28px rgba(0,0,0,.16);
  columns:unset!important;
  column-count:unset!important;
  -webkit-columns:unset!important;
}
.cc-list[hidden]{display:none!important}
.cc-list [role=option]{
  display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;
  border-radius:8px;font-weight:600;font-size:14px;white-space:nowrap;
  break-inside:auto;
}
.cc-list [role=option]:hover,
.cc-list [role=option].on,
.cc-list [role=option][aria-selected=true]{background:var(--soft,#f0efe9)}
.cc-list [role=option] .cc-flag{width:22px;height:16px}
.cc-list [role=option] .cc-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.cc-list [role=option] .cc-dial{color:#555;font-weight:700}
form select{appearance:auto;-webkit-appearance:menulist;margin-top:4px;min-height:44px;color:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.rv-wrap{position:relative;width:100%;margin-top:4px}
.rv-btn{display:flex!important;align-items:center;gap:10px;width:100%!important;margin-top:0!important;padding:8px 12px!important;text-align:left;cursor:pointer;color:inherit;line-height:1.2;min-height:58px;box-sizing:border-box}
.rv-btn .cc-caret{margin-left:auto}
.rv-thumb,.rv-btn-thumb,.rv-opt-thumb{
  width:56px;height:42px;flex:none;border-radius:4px;object-fit:cover;display:block;
  background:#efeae3;box-shadow:0 0 0 1px rgba(75,46,43,.12);overflow:hidden;
}
.rv-thumb{display:flex;align-items:center;justify-content:center;color:#4b2e2b}
.rv-thumb svg{width:22px;height:22px;display:block}
.rv-btn-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rv-btn-name{font-weight:800;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-btn-price{font-weight:700;font-size:13px;color:#4b2e2b}
.rv-btn-price[hidden]{display:none!important}
.rv-list{
  position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);bottom:auto;
  margin:0;padding:4px;list-style:none;
  background:#fff;border:1px solid var(--line,#ccc);border-radius:10px;
  width:100%;max-width:100%;
  max-height:320px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  box-shadow:0 10px 28px rgba(0,0,0,.16);
  columns:unset!important;column-count:unset!important;-webkit-columns:unset!important;
}
.rv-list[hidden]{display:none!important}
.rv-list [role=option]{
  display:flex;align-items:center;gap:10px;padding:8px 10px;cursor:pointer;
  border-radius:8px;break-inside:auto;
}
.rv-list [role=option]:hover,
.rv-list [role=option].on,
.rv-list [role=option][aria-selected=true]{background:var(--soft,#f0efe9)}
.rv-opt-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rv-opt-name{font-weight:800;font-size:14px;line-height:1.25;color:inherit}
.rv-opt-price{font-weight:700;font-size:13px;color:#4b2e2b}
@media(min-width:420px){
  .rv-opt-text{flex-direction:row;align-items:baseline;justify-content:space-between;gap:10px}
  .rv-opt-name{flex:1;min-width:0;padding-right:8px}
  .rv-opt-price{flex:none;white-space:nowrap}
}
