.roubaitel-home-section { margin-block: 0 2rem; }
.roubaitel-home-section .container { box-sizing:border-box; width:100%; max-width:1280px; padding-inline:24px; margin-inline:auto; }
.roubaitel-home-section__heading { margin-block:2.5rem 1.25rem; }
.roubaitel-home-section .section-title { margin:0; text-align:start; }
.roubaitel-home-section .products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0; }
.roubaitel-home-section .product-miniature { width:100%; min-width:0; max-width:none; margin:0; }
.roubaitel-home-section .product-miniature__inner { height:100%; }
.roubaitel-home-section .product-miniature__title { overflow-wrap:anywhere; }
.roubaitel-home-section__message { margin-block:0 2rem; }
.roubaitel-recharge-finder { display:grid; grid-template-columns:220px minmax(0,1fr); gap:26px; align-items:start; color:var(--color-text,#09234c); }
.roubaitel-recharge-finder [hidden] { display:none !important; }
.roubaitel-recharge-finder__filters { padding:18px 16px; background:#fff; border:1px solid #e7eef8; border-radius:12px; box-shadow:0 5px 20px rgb(24 70 110 / 4%); }
.gl-filter-heading { display:flex; align-items:center; justify-content:space-between; padding-bottom:14px; border-bottom:1px solid #e5edf7; }
.gl-filter-heading h2 { margin:0; font-size:16px; font-weight:700; line-height:1.4; }
.gl-filter-heading [data-recharge-close],.gl-filter-apply { display:none; }
.gl-filter-group { padding-block:16px; border-bottom:1px solid #e8eef7; }
.gl-filter-group summary { display:flex; justify-content:space-between; gap:8px; list-style:none; cursor:pointer; font-size:13px; line-height:1.5; font-weight:700; }
.gl-filter-group summary::-webkit-details-marker { display:none; }
.gl-filter-options { display:flex; flex-direction:column; gap:0; max-height:none; overflow:visible; margin-top:12px; scrollbar-width:thin; scrollbar-color:#c6d8ed transparent; }
.gl-checkbox { display:flex; align-items:center; gap:12px; min-height:32px; margin:0; font-size:13px; font-weight:400; line-height:1.4; cursor:pointer; }
.gl-checkbox input { appearance:none; flex:none; width:18px; height:18px; margin:0; border:1px solid #849fbd; border-radius:3px; background:#fff; cursor:pointer; }
.gl-checkbox input:checked { border-color:#0053d4; background:#0053d4; box-shadow:none; }
.gl-amounts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; max-height:none; overflow:visible; margin-top:14px; }
.gl-amount { position:relative; display:block; min-width:0; margin:0; cursor:pointer; }
.gl-amount input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.gl-amount span { display:flex; align-items:center; justify-content:center; min-width:0; min-height:44px; padding:6px 9px; border:1px solid #dce7f3; border-radius:8px; color:#10315d; font-size:13px; }
.gl-amount input:checked + span { color:#fff; background:#0053d4; border-color:#0053d4; }
.gl-amount input:disabled + span { opacity:.4; cursor:not-allowed; }
.gl-filter-hint { font-size:11px; line-height:1.5; color:#536b8d; margin:10px 0 0; }
.roubaitel-recharge-finder__reset { display:inline-flex; align-items:center; gap:8px; margin-top:16px; min-height:36px; padding:0; border:0; color:#0053d4; background:none; font:inherit; font-size:13px; cursor:pointer; }
.roubaitel-recharge-finder svg { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.gl-recharge-results { min-width:0; }
.gl-results-heading { display:flex; justify-content:space-between; align-items:baseline; gap:12px; min-height:40px; padding:4px 0 12px; }
.gl-results-heading h2 { margin:0; font-size:18px; font-weight:700; line-height:1.3; }
.roubaitel-recharge-finder__count { margin:0; font-size:12px; white-space:nowrap; color:#536b8d; }
.gl-selected-filters { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.gl-selected-filters button { padding:6px 10px; min-height:32px; background:#e6effb; border:1px solid #c7dafa; color:#10315d; border-radius:6px; cursor:pointer; font-size:12px; }
.roubaitel-recharge-card { min-width:0; overflow:hidden; background:#fff; border:1px solid #edf2f8; border-radius:12px; box-shadow:0 4px 16px rgb(20 67 112 / 5%); }
.roubaitel-recharge-card__link { display:flex; flex-direction:column; align-items:stretch; height:100%; padding:10px 20px 12px; color:#09234c; text-decoration:none; transition:box-shadow 160ms ease; }
.roubaitel-recharge-card__link:hover { color:#09234c; text-decoration:none; box-shadow:inset 0 0 0 1px #abc9ee; }
.roubaitel-recharge-card__visual { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:2.1; min-height:0; margin:0 0 8px; overflow:hidden; border-radius:7px; background:linear-gradient(125deg,#e2f0fd,#f8fbff); }
.roubaitel-recharge-card__visual img { width:auto; height:auto; max-width:85%; max-height:72px; object-fit:contain; }
.roubaitel-recharge-card__visual svg { display:block; width:100%; height:100%; }
.roubaitel-recharge-card h3 { margin:0; font-size:16px; line-height:20px; font-weight:700; overflow-wrap:anywhere; }
.gl-offer-name { margin:0; font-size:13px; line-height:18px; color:#536b8d; overflow-wrap:anywhere; }
.gl-face-amount { margin:0 0 10px; font-size:13px; line-height:18px; color:#153960; }
.roubaitel-recharge-card__price { margin:0 0 8px; font-weight:700; }
.roubaitel-recharge-card__availability { margin:0 0 10px; font-size:12px; line-height:1.4; color:#607188; }
.roubaitel-recharge-card__details { display:flex; align-items:center; justify-content:center; min-height:34px; margin-top:auto; padding:8px 10px; color:#fff; background:#0053d4; border:0; border-radius:7px; font-size:13px; font-weight:600; line-height:1.4; }
.roubaitel-recharge-card__link:hover .roubaitel-recharge-card__details { background:#0048b9; }
.roubaitel-recharge-card__link:focus-visible,.roubaitel-recharge-finder :is(button,input,summary):focus-visible,.gl-amount input:focus-visible + span { outline:3px solid #0053d4; outline-offset:3px; }
.roubaitel-recharge-finder__more { display:block; min-height:44px; margin:20px auto 0; padding:10px 20px; color:#0053d4; background:#fff; border:1px solid #c8dbf5; border-radius:8px; font:inherit; font-size:14px; cursor:pointer; }
.roubaitel-recharge-finder__empty { margin:0; padding:32px 20px; background:#edf4fe; border:1px solid #dce7f3; border-radius:12px; line-height:1.5; }
.roubaitel-recharge-finder__empty button { display:block; margin-top:16px; padding:10px 16px; color:#fff; background:#0053d4; border:0; border-radius:8px; cursor:pointer; }
.gl-filter-toolbar,.gl-filter-backdrop { display:none; }
.roubaitel-recharge-finder__search label { display:block; margin:12px 0 4px; font-size:13px; }
.roubaitel-recharge-finder__search input { width:100%; min-height:44px; border:1px solid #c8d8ed; border-radius:8px; padding:8px; }
.gl-universe.container { position:relative; isolation:isolate; display:flex; min-height:228px; max-width:1280px; margin:24px auto 0; padding:32px 50px; overflow:hidden; background:#04213a; color:#fff; border-radius:6px; }
.gl-universe__copy { position:relative; z-index:1; width:44%; }
.gl-universe__copy h2 { max-width:13ch; margin:0 0 12px; font-size:28px; font-weight:650; line-height:1.15; color:#fff; }
.gl-universe__copy p { max-width:32ch; margin:0 0 18px; font-size:14px; line-height:1.5; color:#e5f0fa; }
.gl-universe__copy a { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:8px 18px; border:1px solid #e5f0fa; border-radius:999px; color:#fff; font-size:12px; text-decoration:none; }
.gl-universe__visual { position:absolute; inset:0 0 0 auto; z-index:0; width:69.53%; }
.gl-universe__visual svg { display:block; width:100%; height:100%; }
.gl-universe__visual .gl-universe-art--mobile { display:none; }
@media (min-width:1280px) { .roubaitel-recharge-finder { grid-template-columns:250px minmax(0,1fr); gap:30px; } .roubaitel-recharge-card__link { padding:14px 20px 16px; } }
@media (max-width:991px) {
  .roubaitel-home-section .container { padding-inline:16px; }
  .roubaitel-recharge-finder { display:block; }
  .roubaitel-home-section .products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .gl-filter-toolbar { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 14px; }
  .gl-filter-toolbar button { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; padding:10px 12px; background:#fff; border:1px solid #e8eef8; border-radius:8px; color:#09234c; font:inherit; font-size:13px; font-weight:600; box-shadow:0 3px 10px rgb(20 67 112 / 5%); cursor:pointer; }

  .roubaitel-recharge-finder__filters { display:none; }
  .roubaitel-recharge-finder__filters[data-open] { display:block; position:fixed; z-index:1055; inset:auto 0 0; max-height:85dvh; padding:22px 20px max(20px,env(safe-area-inset-bottom)); overflow:auto; border-radius:20px 20px 0 0; box-shadow:0 -12px 60px rgb(8 27 65 / 15%); }
  .gl-filter-heading [data-recharge-close] { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; border-radius:8px; background:#eff5fc; color:#09234c; font-size:26px; cursor:pointer; }
  .gl-checkbox { min-height:44px; font-size:15px; }
  .gl-filter-options { max-height:none; }
  .gl-amount span { min-height:44px; min-width:58px; font-size:14px; }
  .gl-filter-group summary { min-height:32px; align-items:center; font-size:15px; }
  .gl-filter-hint { font-size:12px; }
  .gl-filter-apply { display:block; width:100%; min-height:48px; margin-top:20px; border:0; border-radius:8px; color:#fff; background:#0053d4; font:inherit; font-weight:600; }
  .gl-filter-backdrop { display:block; position:fixed; z-index:1054; inset:0; background:rgb(5 20 44 / 42%); }
  .gl-results-heading { position:absolute; width:1px; height:1px; min-height:0; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .gl-results-heading h2 { font-size:15px; }
  .roubaitel-recharge-finder__count { font-size:11px; }
  .roubaitel-recharge-card__link { padding:10px; }
  .roubaitel-recharge-card h3 { font-size:14px; }
  .gl-offer-name,.gl-face-amount { font-size:12px; line-height:1.4; }
  .roubaitel-recharge-card__visual { margin-bottom:9px; }
  .roubaitel-recharge-card__details { min-height:32px; padding:8px; font-size:12px; }
  .roubaitel-recharge-finder__reset { min-height:44px; }
  .roubaitel-recharge-card__availability { font-size:11px; }
  .gl-universe.container { min-height:190px; margin-top:18px; padding:22px 18px; border-radius:0; }
  .gl-universe__copy { width:66%; }
  .gl-universe__copy h2 { font-size:20px; }
  .gl-universe__copy p { font-size:11px; max-width:190px; margin-bottom:12px; }
  .gl-universe__copy a { min-height:44px; gap:8px; padding:8px 12px; font-size:11px; }
  .gl-universe__visual { width:45%; opacity:1; }
  .gl-universe__visual .gl-universe-art--desktop { display:none; }
  .gl-universe__visual .gl-universe-art--mobile { display:block; }
}
@media (prefers-reduced-motion:reduce) { .roubaitel-recharge-card__link { transition:none; } }

/* Details content is explicitly hidden: component display rules must not override its closed state. */
.roubaitel-recharge-finder__filters details:not([open]) > :not(summary) { display:none; }
.gl-filter-group > summary > span, .gl-extra-amounts > summary > span { flex:none; width:7px; height:7px; margin:3px 3px 0; font-size:0; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
.gl-filter-group[open] > summary > span, .gl-extra-amounts[open] > summary > span { transform:rotate(225deg); margin-top:7px; }
.gl-filter-group > summary { align-items:center; min-height:24px; }
.gl-extra-amounts { margin-top:8px; }
.gl-extra-amounts > summary { min-height:40px; align-items:center; color:#0053d4; font-size:12px; font-weight:500; }
.gl-checkbox { padding-inline:4px; border-radius:5px; }
.gl-checkbox:hover { background:#f3f7fd; }
.gl-checkbox:has(input:checked) { color:#0053d4; font-weight:600; }
.gl-checkbox input:checked::after { content:""; display:block; width:5px; height:9px; margin:1px auto; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.gl-amount span { font-weight:500; }
.gl-amount input:disabled + span { color:#74849b; background:#f3f5f8; border-style:dashed; opacity:1; }
