/* Catalogue dropdowns, readable in both appearance modes. */
html body #wrapper .products-sort-order .dropdown-menu,
html body #wrapper .facet-dropdown .dropdown-menu {
 background:var(--sv-surface,#fff) !important; color:var(--sv-ink,#102044) !important;
 border:1px solid var(--sv-line,#d9e3f2) !important; border-radius:12px;
 padding:6px !important; box-shadow:0 12px 32px rgba(0,0,0,.18);
 max-height:min(65vh,440px); overflow-y:auto; min-width:230px; max-width:calc(100vw - 32px);
}
html body #wrapper .products-sort-order .dropdown-menu .select-list,
html body #wrapper .facet-dropdown .dropdown-menu .select-list {
 color:var(--sv-ink,#102044) !important; background:transparent !important;
 padding:11px 12px; border-radius:8px; font-size:14px; line-height:1.45; white-space:normal;
}
html body #wrapper .products-sort-order .dropdown-menu .select-list:hover,
html body #wrapper .products-sort-order .dropdown-menu .select-list:focus-visible,
html body #wrapper .facet-dropdown .dropdown-menu .select-list:hover,
html body #wrapper .facet-dropdown .dropdown-menu .select-list:focus-visible {
 background:var(--sv-soft,#edf3ff) !important; color:var(--sv-accent,#1554db) !important;
}
html body #wrapper .products-sort-order .dropdown-menu .select-list.current {
 background:#1554db !important; color:#fff !important; font-weight:700;
}
html body #wrapper .tvproduct-view {color:var(--sv-ink,#102044) !important;}
html body #wrapper .tvproduct-view svg :is(path,polygon,rect) {fill:currentColor !important;}
html body #wrapper .tvproduct-view.active {
 background:#1554db !important; color:#fff !important; border-color:#1554db !important;
}
/* Checkout account tabs. */
html body#checkout #checkout-personal-information-step .nav-inline {
 display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 !important;
}
html body#checkout #checkout-personal-information-step .nav-inline .nav-item {margin:0 !important;}
html body#checkout #checkout-personal-information-step .nav-inline .nav-item:has(> span[href="nav-separator"]) {display:none;}
html body#checkout #checkout-personal-information-step .nav-inline .nav-link {
 display:block; border:1px solid var(--sv-line,#d9e3f2) !important; border-radius:10px;
 padding:11px 16px; color:var(--sv-ink,#102044) !important;
 background:var(--sv-surface,#fff) !important; font-weight:600; line-height:1.4;
}
html body#checkout #checkout-personal-information-step .nav-inline .nav-link:hover {
 background:var(--sv-soft,#edf3ff) !important; color:var(--sv-accent,#1554db) !important;
}
html body#checkout #checkout-personal-information-step .nav-inline .nav-link.active {
 background:#1554db !important; color:#fff !important; border-color:#1554db !important;
}
/* WhatsApp contact panel: preserve contact links and status indicators. */
html body .whatsappchat-agents-container {
 background:var(--sv-surface,#fff) !important; color:var(--sv-ink,#102044) !important;
 border:1px solid var(--sv-line,#d9e3f2); border-radius:16px !important;
 box-shadow:0 14px 40px rgba(0,0,0,.22); padding:12px !important;
 width:350px; max-width:calc(100vw - 32px); box-sizing:border-box;
}
html body .whatsappchat-agents-container .whatsappchat-agents-title {
 background:#087f45 !important; color:#fff !important; border-radius:10px;
 padding:16px !important; font-size:14px; line-height:1.55; font-weight:500;
}
html body .whatsappchat-agents-container .whatsappchat-agents-content {padding:8px 0 0 !important;}
html body .whatsappchat-agents-container .whatsappchat-agents-content-agent {
 background:transparent !important; color:var(--sv-ink,#102044) !important;
 padding:6px 8px; margin-top:4px; border-radius:10px;
}
html body .whatsappchat-agents-container .whatsappchat-agents-content-agent:hover,
html body .whatsappchat-agents-container .whatsappchat-agents-content-agent:focus-visible {
 background:var(--sv-soft,#edf3ff) !important;
}
html body .whatsappchat-agents-container .whatsappchat-agents-content-info {padding-top:8px !important;}
html body .whatsappchat-agents-container .whatsappchat-agents-content-department {
 color:var(--sv-muted,#526581) !important; font-size:12px; font-weight:600;
}
html body .whatsappchat-agents-container .whatsappchat-agents-content-name {
 color:var(--sv-ink,#102044) !important; font-size:15px; font-weight:700;
}
/* Native and DataTables pagination. Disabled controls remain legible. */
html body .pagination .page-list {background:transparent !important;box-shadow:none !important;}
html body .pagination a, html body .pagination .page-link,
html body .dataTables_wrapper .dataTables_paginate .paginate_button {
 display:inline-flex; align-items:center; justify-content:center; min-width:40px; min-height:40px;
 box-sizing:border-box; width:auto; padding:8px 12px; margin:3px;
 border:1px solid var(--sv-line,#d9e3f2) !important; border-radius:9px !important;
 color:var(--sv-ink,#102044) !important; background:var(--sv-surface,#fff) !important;
 box-shadow:none !important; font-size:14px; line-height:1.4;
}
html body .pagination a:hover, html body .pagination .page-link:hover,
html body .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
 background:var(--sv-soft,#edf3ff) !important; color:var(--sv-accent,#1554db) !important;
}
html body .pagination .current > a, html body .pagination .active > .page-link,
html body .pagination .active > a,
html body .dataTables_wrapper .dataTables_paginate .paginate_button.current,
html body .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
 background:#1554db !important; color:#fff !important; border-color:#1554db !important;
}
html body .pagination .disabled:not(.current) > a,
html body .pagination .disabled:not(.current) > .page-link,
html body .pagination a.disabled:not(.current > a),
html body .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
html body .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
 background:var(--sv-soft,#edf3ff) !important; color:var(--sv-muted,#526581) !important;
 border-color:var(--sv-line,#d9e3f2) !important; opacity:1; cursor:default;
}
html body .pagination a:focus-visible,
html body .dataTables_paginate .paginate_button:focus-visible,
html body#checkout #checkout-personal-information-step .nav-link:focus-visible {
 outline:2px solid var(--sv-accent,#1554db); outline-offset:2px;
}

html body #wrapper #products .tvproduct-view svg * {fill:var(--sv-ink,#102044) !important;}
html body #wrapper #products .tvproduct-view.active svg * {fill:#fff !important;}
html body .whatsappchat-agents-container .whatsappchat-agents-content-department {opacity:1 !important;}
html body .jBox-wrapper:has(.whatsappchat-agents-container) {
 position:fixed !important; inset:auto 20px 100px auto !important; padding:0 !important;
 width:350px !important; max-width:calc(100vw - 32px) !important;
}
html body .jBox-wrapper:has(.whatsappchat-agents-container) .jBox-container,
html body .jBox-wrapper:has(.whatsappchat-agents-container) .jBox-content {
 background:var(--sv-surface,#fff) !important; color:var(--sv-ink,#102044) !important;
 border-radius:16px !important; padding:0 !important; width:100% !important; box-sizing:border-box;
}
html body .jBox-wrapper:has(.whatsappchat-agents-container) .jBox-content {max-height:calc(100dvh - 150px);overflow-y:auto;}
html body .jBox-wrapper:has(.whatsappchat-agents-container) .jBox-pointer {display:none;}
html body .jBox-wrapper:has(.whatsappchat-agents-container) .jBox-closeButton {
 top:6px !important; right:6px !important; background:var(--sv-surface,#fff) !important;
 color:var(--sv-ink,#102044) !important; border-radius:50%;
}
html body .jBox-wrapper:has(.whatsappchat-agents-container) .jBox-closeButton svg {fill:var(--sv-ink,#102044) !important;}
@media(max-width:767px){html body .jBox-wrapper:has(.whatsappchat-agents-container){right:16px !important;bottom:145px !important;}}

/* Password recovery feedback: compact, readable in both themes. */
html body#password #wrapper #content:has(.ps-alert-success) {
 padding:20px !important; margin-bottom:18px !important; min-height:0 !important;
}
html body#password #wrapper :is(.ps-alert-success,.ps-alert-error) {
 padding:0 !important; margin:0 !important; list-style:none;
}
html body#password #wrapper :is(.ps-alert-success,.ps-alert-error):empty {display:none;}
html body#password #wrapper :is(.ps-alert-success,.ps-alert-error) .item {
 display:flex; align-items:flex-start; gap:14px; padding:18px !important;
 margin:0 0 12px !important; border:1px solid #b6ddcb !important;
 border-radius:12px; background:#edf8f2 !important; box-sizing:border-box;
}
html body#password #wrapper :is(.ps-alert-success,.ps-alert-error) .item:last-child {margin-bottom:0 !important;}
html body#password #wrapper :is(.ps-alert-success,.ps-alert-error) .item i {
 flex:0 0 32px; width:32px; height:32px; margin:0; padding:6px;
 display:flex; align-items:center; justify-content:center; box-sizing:border-box;
 background:#19734c !important; border-radius:50%;
}
html body#password #wrapper :is(.ps-alert-success,.ps-alert-error) .item i svg {width:20px;height:20px;}
html body#password #wrapper :is(.ps-alert-success,.ps-alert-error) .item p {
 flex:1 1 0; min-width:0; width:auto; margin:0 !important; padding:3px 0 !important;
 background:transparent !important; color:#164e36 !important;
 font-size:15px; line-height:1.7; overflow-wrap:anywhere;
}
html body#password #wrapper .ps-alert-error .item {background:#fff2f3 !important;border-color:#efc3c9 !important;}
html body#password #wrapper .ps-alert-error .item i {background:#a1293c !important;}
html body#password #wrapper .ps-alert-error .item p {color:#842638 !important;}
html[data-theme=dark] body#password #wrapper .ps-alert-success .item {background:#102e26 !important;border-color:#356c56 !important;}
html[data-theme=dark] body#password #wrapper .ps-alert-success .item p {color:#d2f3df !important;}
html[data-theme=dark] body#password #wrapper .ps-alert-error .item {background:#351e29 !important;border-color:#744252 !important;}
html[data-theme=dark] body#password #wrapper .ps-alert-error .item p {color:#ffcbcf !important;}
html body#password #wrapper .page-footer {margin-top:0 !important;padding-top:0 !important;}
html body#password #wrapper .page-footer > ul {margin:0;padding:0;list-style:none;}
html body#password #wrapper .page-footer > ul a {
 display:inline-flex; align-items:center; min-height:44px; padding:10px 16px;
 border:1px solid var(--sv-line,#d9e3f2); border-radius:10px;
 color:var(--sv-ink,#102044) !important; background:var(--sv-surface,#fff) !important;
 font-size:14px; font-weight:600; line-height:1.5;
}
html body#password #wrapper .page-footer > ul a:hover {background:var(--sv-soft,#edf3ff) !important;color:var(--sv-accent,#1554db) !important;}
html body#password #wrapper .page-footer > ul a:focus-visible {outline:2px solid var(--sv-accent,#1554db);outline-offset:3px;}
html body#password #sv-cookie-settings {background:var(--sv-surface,#fff) !important;color:var(--sv-ink,#102044) !important;border-color:var(--sv-line,#d9e3f2) !important;}
@media(max-width:575px) {
 html body#password #wrapper #content:has(.ps-alert-success) {padding:12px !important;}
 html body#password #wrapper :is(.ps-alert-success,.ps-alert-error) .item {padding:14px !important;gap:10px;}
 html body#password #wrapper :is(.ps-alert-success,.ps-alert-error) .item p {font-size:14px;line-height:1.65;}
}

html body#password #wrapper :is(.ps-alert-success,.ps-alert-error) .item i {border:0 !important;}
html body#password #wrapper :is(.ps-alert-success,.ps-alert-error) .item i svg {flex:0 0 20px;background:transparent !important;}

/* Infinite catalogue ending: shared light/dark tokens. */
html body #wrapper #tv-back-top-wrapper {
 background:var(--sv-surface,#fff) !important; color:var(--sv-muted,#53637b) !important;
 border:1px solid var(--sv-line,#d9e3f2) !important; border-radius:14px;
 padding:16px 20px; margin:18px 0 0; box-sizing:border-box;
}
html body #wrapper #tv-back-top-wrapper p {
 display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px 16px;
 margin:0; padding:0; color:var(--sv-muted,#53637b) !important; font-size:14px; line-height:1.6;
}
html body #wrapper #tv-back-top-wrapper .tv-back-top-link {
 display:inline-flex; align-items:center; justify-content:center; gap:8px;
 min-height:42px; margin:0; padding:9px 14px; border:1px solid var(--sv-line,#d9e3f2);
 border-radius:9px; background:var(--sv-soft,#edf3ff) !important;
 color:var(--sv-accent,#1554db) !important; text-transform:none; font-weight:700; line-height:1.4;
}
html body #wrapper #tv-back-top-wrapper .tv-back-top-link::after {border-bottom-color:currentColor; margin:0;}
html body #wrapper #tv-back-top-wrapper .tv-back-top-link:hover {background:#1554db !important;color:#fff !important;}
html body #wrapper #tv-back-top-wrapper .tv-back-top-link:focus-visible {outline:2px solid var(--sv-accent,#1554db);outline-offset:3px;}

@media(max-width:767px) {
 html body .quickview.modal {padding:12px !important;}
 html body .quickview.modal .modal-dialog {position:relative !important;inset:auto !important;width:100% !important;max-width:100% !important;min-width:0 !important;margin:0 auto !important;}
 html body .quickview.modal .modal-content {width:100% !important;max-width:100% !important;min-width:0 !important;max-height:calc(100dvh - 24px) !important;}
}

/* Netflix: official brand artwork and duration-first credit cards. */
html body #content.nf-shell .nf-plan-logo {
 display:block; width:126px !important; max-width:65%; height:auto !important;
 object-fit:contain; margin:22px 0 14px; background:transparent;
}
html body #content.nf-shell .nf-plan-name {margin-top:0;}
html body #content.nf-shell .nf-credit-summary {display:none !important;}
html body #content.nf-shell .nf-credit {padding:24px;}
html body #content.nf-shell .nf-credit-top {position:absolute;right:20px;top:20px;}
html body #content.nf-shell .nf-credit .nf-days {
 display:block; padding-right:24px; margin:0 0 15px;
 font-size:21px; line-height:1.5; font-weight:500; color:var(--sv-ink,#102044);
}
html body #content.nf-shell .nf-credit .nf-days b {font-size:38px;line-height:1.2;font-weight:800;letter-spacing:-1px;}
html body #content.nf-shell .nf-credit-price {font-size:22px;}
@media(max-width:575px) {
 html body #content.nf-shell .nf-credits {grid-template-columns:minmax(0,1fr);}
 html body #content.nf-shell .nf-credit {padding:20px;}
 html body #content.nf-shell .nf-credit .nf-days {font-size:20px;}
 html body #content.nf-shell .nf-credit .nf-days b {font-size:36px;}
}
