/* Each release substitutes only this site's verified brand accent. */
.child-categories-title{color:#ef4050!important;}
#nm-mobile-menu-close-button{border:0!important;background:transparent!important;box-shadow:none!important;outline:none!important;}
html[data-ux-keyboard="true"] #nm-mobile-menu-close-button:focus{outline:2px solid #ef4050!important;outline-offset:3px;}
.esim5g-catalog-directory,.esim5g-catalog-return{box-sizing:border-box;max-width:1220px;margin:24px auto;padding:0 15px;}
.esim5g-catalog-directory h2{font-size:28px;line-height:1.25;color:#ef4050;margin:0 0 16px;}
.esim5g-catalog-directory label{display:block;margin-bottom:6px;}
.esim5g-catalog-directory input[type=search]{width:100%;font-size:16px;min-height:44px;}
.esim5g-catalog-directory ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;padding:0;list-style:none;}
.esim5g-catalog-directory li[hidden],.esim5g-catalog-directory [hidden]{display:none!important;}
.esim5g-catalog-directory li a{display:flex;align-items:center;gap:12px;min-height:64px;height:100%;padding:12px;border:1px solid #e1e8ef;border-radius:12px;background:#fff;color:var(--esim5g-country-ink);box-sizing:border-box;font-weight:600;}
.esim5g-catalog-directory li img{width:42px;height:30px;object-fit:contain;flex:0 0 42px;border-radius:0;}
.esim5g-catalog-directory li span{min-width:0;overflow-wrap:anywhere;}
.esim5g-catalog-directory a:hover,.esim5g-catalog-directory a:focus-visible{outline:2px solid #ef4050;outline-offset:1px;}
.esim5g-catalog-directory button{background:#ef4050;color:#fff;min-height:44px;border:0;border-radius:8px;padding:10px 16px;}
.esim5g-catalog-directory [data-ux-count]{margin:8px 0;font-size:14px;}
.esim5g-catalog-directory{max-width:1190px;padding:24px;border:1px solid #e1e8ef;border-radius:18px;background:var(--esim5g-country-soft);color:var(--esim5g-country-ink);}
.esim5g-catalog-directory h2{font-size:24px;color:var(--esim5g-country-ink);margin-bottom:18px;}
.esim5g-catalog-directory .ux-search{position:relative;max-width:640px;margin-bottom:16px;}
.esim5g-catalog-directory .ux-search svg{position:absolute;left:16px;top:15px;width:22px;height:22px;color:var(--esim5g-country-copy);pointer-events:none;}
.esim5g-catalog-directory .ux-search input{box-sizing:border-box;height:52px;padding:12px 52px 12px 48px;border:1px solid #e1e8ef;border-radius:12px;background:#fff;color:var(--esim5g-country-ink);box-shadow:0 2px 6px #00000004;}
.esim5g-catalog-directory .ux-search input:focus{outline:2px solid #ef4050;outline-offset:2px;}
.esim5g-catalog-directory .ux-search input::-webkit-search-cancel-button{display:none;}
.esim5g-catalog-directory .ux-search button{position:absolute;right:4px;top:4px;width:44px;height:44px;padding:0;background:transparent;color:var(--esim5g-country-ink);font-size:26px;}
.esim5g-catalog-directory [data-ux-count]{color:var(--esim5g-country-copy);}
.esim5g-catalog-directory [data-ux-more]{background:#fff;color:var(--esim5g-country-ink);border:1px solid #e1e8ef;font-weight:600;}
.esim5g-catalog-directory button:focus-visible{outline:2px solid #ef4050;outline-offset:3px;}
.esim5g-catalog-directory [data-ux-empty]{padding:24px 12px;text-align:center;background:#fff;border-radius:12px;}
.esim5g-catalog-directory .ux-search-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
/* Stripe Optimized Checkout replaces the classic label, removing its icon HTML.
   Supply decorative card marks only when that HTML is absent; keep gateway behavior intact. */
#payment label[for="payment_method_stripe"]:not(:has(.esim5g-payment-icon--cards))::after{content:"";display:block;flex:0 0 116px;width:116px;min-width:116px;height:36px;margin-left:auto;background-image:url('../../plugins/woocommerce-gateway-stripe/assets/images/visa.svg'),url('../../plugins/woocommerce-gateway-stripe/assets/images/mastercard.svg');background-position:left center,right center;background-size:54px auto,54px auto;background-repeat:no-repeat;}
@media(max-width:767px){
 .esim5g-catalog-directory{margin:20px 15px;padding:16px;}
 .esim5g-catalog-directory ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
 .esim5g-catalog-directory h2{font-size:24px;}
 .esim5g-catalog-directory li a{gap:8px;padding:10px;font-size:14px;}
 .esim5g-catalog-directory li img{width:30px;height:22px;flex-basis:30px;}
 .esim5g-country-landing ul.products,.category-tabs .products,.popular-countries-homepage .products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
 .esim5g-country-landing ul.products::before,.esim5g-country-landing ul.products::after,.category-tabs .products::before,.category-tabs .products::after,.popular-countries-homepage .products::before,.popular-countries-homepage .products::after{display:none!important;content:none!important;}
 .esim5g-country-landing ul.products>li.product,.category-tabs .products>li.product,.popular-countries-homepage .products>li.product{width:100%!important;min-width:0;float:none!important;margin:0!important;padding:0!important;}
 .esim5g-country-landing ul.products li.product .nm-product-inner,.esim5g-country-landing ul.products li.product .nm-shop-loop-product-wrap{display:block;min-height:0;padding:0;}
 .esim5g-country-landing ul.products li.product .nm-product-thumbnail,.esim5g-country-landing ul.products li.product .nm-shop-loop-thumbnail{height:auto;min-height:0;aspect-ratio:auto;padding:8px;border-radius:12px 12px 0 0;}
 .esim5g-country-landing ul.products li.product .nm-product-details,.esim5g-country-landing ul.products li.product .nm-shop-loop-details{padding:10px 6px;}
 .esim5g-country-landing ul.products li.product img{max-width:100%;height:auto;}
 .esim5g-country-landing ul.products li.product .price{opacity:1!important;}
 .esim5g-country-landing ul.products li.product .woocommerce-loop-product__title,.esim5g-country-landing ul.products li.product .product-title{font-size:14px;overflow-wrap:anywhere;}
}

/* A single radio state controls both fill and text, including during HTMX requests. */
.esim-products-filter__text{min-height:44px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;line-height:1.3;padding:8px 10px;white-space:normal;}
html body .esim-products-filter__label .esim-products-filter__input:checked + .esim-products-filter__text{background:#ef4050!important;color:#fff!important;border-color:#ef4050!important;}
html body .esim-products-filter__label .esim-products-filter__input:not(:checked) + .esim-products-filter__text{background:transparent!important;color:#17304f!important;border-color:#ef4050!important;}
.ux-plan-opening{outline:2px solid #ef4050;outline-offset:3px;border-radius:12px;}
.ux-plan-opening img{opacity:.65;}
#esim5g-plan-opening-status{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:100000;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);box-sizing:border-box;padding:13px 18px;border:1px solid #e1e8ef;border-radius:12px;background:#fff;color:#17304f;font-size:15px;line-height:1.4;box-shadow:0 4px 20px #0002;pointer-events:none;}
#esim5g-plan-opening-status[hidden]{display:none;}
#esim5g-plan-opening-status::before{content:"";width:16px;height:16px;flex:0 0 16px;border:2px solid #e1e8ef;border-top-color:#ef4050;border-radius:50%;animation:ux-plan-opening-spin .8s linear infinite;}
@keyframes ux-plan-opening-spin{to{transform:rotate(360deg);}}
@media(prefers-reduced-motion:reduce){#esim5g-plan-opening-status::before{animation:none;}}

.esim5g-ux-empty-cart-title{font-size:28px;line-height:1.25;color:#17304f;margin:0 0 24px;}@media(max-width:767px){.esim5g-ux-empty-cart-title{font-size:24px;}}

/* Mobile homepage country picker. Keep regional coverage cards and desktop layout. */
@media(max-width:767px){
 body.home #category-tabs > ul.ui-tabs-nav{display:flex!important;justify-content:space-around;background:#fff;border:0!important;border-bottom:1px solid #f1dce0!important;padding:0 6px!important;gap:4px;}
 body.home #category-tabs > ul.ui-tabs-nav > li{float:none!important;flex:1;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;text-align:center;}
 body.home #category-tabs > ul.ui-tabs-nav > li > a{display:flex;align-items:center;justify-content:center;min-height:54px;padding:10px 2px!important;font-size:13px;line-height:1.35;color:#17304f!important;border-bottom:3px solid transparent;white-space:normal;float:none!important;gap:3px;}
 body.home #category-tabs > ul.ui-tabs-nav > li.ui-tabs-active > a,body.home #category-tabs > ul.ui-tabs-nav > li.esim5g-popular-tab > a{border-bottom-color:#ef4050;font-weight:700;}
 body.home .child-categories-title{font-size:25px!important;line-height:1.2!important;margin:24px 0 18px!important;padding:0!important;color:#17304f!important;}
 body.home ul.child-categories.categories-local-esim{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
 body.home ul.child-categories.categories-local-esim > li{width:auto!important;min-width:0;margin:0!important;padding:0!important;background:#fff;border:1px solid transparent!important;border-radius:16px!important;box-shadow:0 3px 12px #17304f0b!important;}
 body.home ul.child-categories.categories-local-esim > li > a.category-item-link{display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:flex-start!important;gap:13px!important;position:relative;min-height:108px;box-sizing:border-box;padding:16px!important;color:#17304f!important;}
 body.home ul.child-categories.categories-local-esim > li > a img{width:38px!important;height:28px!important;object-fit:contain;margin:0!important;flex:none;}
 body.home ul.child-categories.categories-local-esim > li > a .title{font-size:15px!important;line-height:1.3!important;font-weight:700;overflow-wrap:break-word;padding:0!important;}
 body.home ul.child-categories.categories-local-esim > li > a:after{content:'+';position:absolute;right:12px;top:12px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:#fff3f4;color:#ef4050;font:400 21px/1 Arial,sans-serif;}
 body.home ul.child-categories.categories-local-esim > li.active{background:#fff3f4!important;border-color:#ef4050!important;box-shadow:0 0 0 1px #ef4050!important;}
 body.home ul.child-categories.categories-local-esim > li.active > a:after{content:'−';background:#fbe1e5;color:#17304f;}
 body.home .popular-countries-homepage:not(.esim5g-popular-expanded) ul.categories-local-esim > li:nth-of-type(n+9){display:none!important;}
 body.home ul.categories-local-esim > form.esim-products{grid-column:1/-1!important;min-width:0!important;width:100%!important;margin:0!important;padding:16px!important;box-sizing:border-box;border:1px solid #f1dce0;border-radius:16px;background:#fff3f4;}
 body.home .esim5g-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;color:#17304f;font-size:16px;line-height:1.3;font-weight:700;}
 body.home .esim5g-picker-close{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:0;margin:-8px -8px -8px 0;border:0;background:transparent!important;color:#17304f!important;font:28px/1 Arial,sans-serif;}
 body.home ul.categories-local-esim > form .esim-products-filter{margin:0!important;padding:0!important;gap:8px;}
 body.home ul.categories-local-esim > form .esim-products-filter__text{font-size:11px!important;line-height:1.3!important;padding:7px 4px!important;height:auto!important;min-height:44px;}
 body.home ul.categories-local-esim > form ul.products{padding:16px 0 0!important;gap:20px 10px!important;}
 body.home ul.categories-local-esim > form .esim-products__no-products{margin:16px 0 0!important;width:100%;font-size:14px;}
 body.home .esim5g-picker-all{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;margin:18px 0 0;background:#fff;color:#17304f;border:1px solid #f1dce0;border-radius:12px;font-size:14px;font-weight:700;}
}
body.home .esim5g-picker-all,body.home #load_all_countries,.esim5g-catalog-directory [data-ux-more]:not([hidden]){display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;max-width:480px;margin:20px auto 0;padding:12px 20px;background:#fff!important;color:#17304f!important;border:1px solid #f1dce0!important;border-radius:12px;font-size:15px;font-weight:700;line-height:1.4;box-shadow:none;}
body.home .esim5g-picker-all:disabled{opacity:.65;cursor:wait;}
@media(hover:hover){body.home .esim5g-picker-all:hover,body.home #load_all_countries:hover,.esim5g-catalog-directory [data-ux-more]:hover{background:#fff3f4!important;border-color:#ef4050!important;}}
@media(min-width:768px){.esim5g-picker-head{display:none!important;}}

@media(max-width:767px){body.home ul.categories-local-esim > form .esim-products-filter__text{min-width:0!important;width:100%!important;max-width:100%!important;}}

/* Accessible filled actions; keep the brighter brand accent for decoration. */
:root{--esim5g-action:#c8233d;--esim5g-action-hover:#a51d32;}
html body button.single_add_to_cart_button,
html body .esim-products-filter__label .esim-products-filter__input:checked + .esim-products-filter__text,
html body .esim5g-europe-selector__plans label:has(input:checked) > span,
html body .esim5g-europe-selector__tiers label:has(input:checked) > span,
html body .esim5g-europe-selector__apply{background:var(--esim5g-action)!important;border-color:var(--esim5g-action)!important;color:#fff!important;}
html body button.single_add_to_cart_button:hover,
html body .esim5g-europe-selector__apply:hover{background:var(--esim5g-action-hover)!important;}
body.home .esim5g-picker-all,body.home #load_all_countries,
.esim5g-catalog-directory [data-ux-more]:not([hidden]){background:#fff!important;border-color:#dce2e9!important;color:#17304f!important;}
@media(hover:hover){body.home .esim5g-picker-all:hover,body.home #load_all_countries:hover,
.esim5g-catalog-directory [data-ux-more]:not([hidden]):hover{background:#f3f5f8!important;border-color:#b8c4d2!important;color:#17304f!important;}}

/* Recovery action inherits this site's text palette, not the announcement palette. */
.esim-products__no-products [data-ux-reset-plans]{display:block;margin:12px auto 0;min-height:44px;padding:10px 18px;border:1px solid currentColor;border-radius:10px;background:#fff;color:inherit;font:inherit;font-weight:600;cursor:pointer;}
.esim-products__no-products [data-ux-reset-plans]:focus-visible{outline:2px solid currentColor;outline-offset:3px;}

/* Initial Local ownership has no extra visual box; the existing popular list stays in place. */
#category-tabs .ux-initial-local-panel{display:block!important;padding:0!important;margin:0!important;border:0!important}
.quantity [role="button"]:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:3px}
.esim-products label:has(input[name="mode"]:focus-visible){outline:2px solid currentColor;outline-offset:3px}
