/* Rose Digital marketplace */
:root { --maxw: 1400px; }
body { background: radial-gradient(ellipse at 0 5%, #3b17544d, transparent 50rem), radial-gradient(ellipse at 100% 25%, #283e8c55, transparent 45rem), #0e1029; }
#fx { opacity: .12; }
header { background: #0e1029cc; border-bottom: 1px solid #bf79d823; backdrop-filter: blur(16px); }
header > .wrap { width: min(1400px, 94vw); }
.nav { border: 0; border-radius: 0; background: none; min-height: 74px; box-shadow: none; padding-inline: 0; }
.brand img { width: 56px; height: 56px; border-radius: 50%; }
.brand b { font-size: 1.35rem; }
.nav .nav-dd-top { border: 1px solid #e52a9e70; border-radius: 10px; padding: .45rem .75rem; }
.nav-dd-menu { width: 290px; min-width: 0; max-height: min(65vh, 480px); overflow: auto; background: #17152cf5; padding: .6rem; border-color: #b57bd957; }
.nav .nav-dd-menu a { display: flex; gap: .7rem; align-items: center; font-size: .78rem; padding: .7rem .5rem; }
.nav-dd-menu img { width: 23px; height: 23px; object-fit: contain; filter: none; }
.nav .nav-dd-menu a:hover { background: #c22c9440; border-radius: 8px; }
.hero { padding: 0; overflow: visible; }
.hero .feature-deck { width: min(1480px,100%); border: 0; background: none; border-radius: 0; overflow: visible; position: relative; }
.feature-slides { display: grid; position: relative; }
.feature-slide { grid-area: 1/1; display: grid; grid-template-columns: 1fr 1.14fr; align-items: center; min-height: 450px; padding: 0; transition: opacity .35s ease, visibility .35s; }
.feature-slide[aria-hidden="true"] { opacity: 0; visibility: hidden; pointer-events: none; }
.feature-copy { padding: 2rem 2.5rem 6rem 1rem; position: relative; z-index: 1; }
.feature-kicker { font-size: .68rem; letter-spacing: .4em; color: #ded0ec; display: block; margin-bottom: 1rem; }
.feature-copy h1,.feature-copy h2 { font-size: clamp(2.2rem,4.2vw,4.2rem); margin: 0; line-height: 1.3; font-weight: 900; }
.feature-copy h1 span,.feature-copy h2 span { color: #ec31b5; }
.feature-subtitle { font-size: clamp(1.1rem,1.9vw,1.85rem); color: #e3d8ed; margin: .65rem 0 1.4rem; }
.feature-description { font-size: .88rem; max-width: 49ch; color: var(--muted); margin-bottom: 1rem; }
.feature-purchase { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.feature-purchase .btn { min-height: 48px; border-radius: 16px; font-size: 1.05rem; padding: .65rem 1.4rem; background: linear-gradient(110deg,#ec1b80,#c31aab); border: 1px solid #ff8cd67a; box-shadow: inset 0 1px 3px #ffffff60,0 0 24px #ec278b40; }
.feature-guide { font-size: .8rem; color: var(--muted); text-underline-offset: 4px; }
.feature-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem .6rem; margin-top: .8rem; font-size: .76rem; color: var(--muted); }
.feature-price b { color: #f5eafc; font-size: 1.12rem; }
#vcToman { flex-basis: 100%; font-size: .7rem; }
.visa-notes { font-size: .74rem; margin-top: .5rem; color: var(--muted); }
.visa-notes summary { cursor: pointer; width: fit-content; }
.visa-notes[open] { padding: .7rem; background: #17152e; border: 1px solid var(--line); border-radius: 10px; }
.feature-art { min-width: 0; align-self: stretch; position: relative; overflow: hidden; direction: ltr; }
.feature-art > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center; mask-image: linear-gradient(90deg,transparent,#000 8%,#000 78%,transparent), linear-gradient(180deg,transparent,#000 8%,#000 84%,transparent); mask-composite: intersect; }
.muse-symbol { position: absolute; right: 8%; top: 28%; width: 36%; aspect-ratio: 1; border: 1px solid #ef86ed; border-radius: 25%; background: linear-gradient(145deg,#58256ad9,#171839ed); transform: rotate(-9deg); box-shadow: 0 0 30px #ec27d266; display: grid; justify-items: center; align-content: center; color: #f7c7f1; }
.muse-symbol img { width: 65%; height: auto; }
.muse-symbol span { font-size: 1.1rem; font-weight: 800; }
.feature-controls { position: absolute; right: 2.5rem; bottom: 1.5rem; z-index: 2; display: flex; align-items: center; gap: .35rem; border: 1px solid #ae77d366; border-radius: 16px; padding: .35rem; background: #17132bca; max-width: calc(100% - 2rem); }
.feature-controls[hidden] { display: none; }
.feature-controls button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; font: inherit; font-size: .8rem; border: 1px solid transparent; background: transparent; color: #e9ddf4; border-radius: 12px; padding: .6rem .8rem; cursor: pointer; }
.feature-controls button[aria-pressed="true"] { border-color: #f288df; background: #a328a22c; box-shadow: 0 0 12px #df2ccc55,inset 0 0 12px #e931b72b; }
.feature-controls b { font: italic 900 1.15rem system-ui; }
.feature-controls #featurePlayback { font-size: .65rem; color: var(--muted); }
.feature-controls .feature-arrow { font-size: 1.4rem; padding: .2rem .5rem; }
.feature-controls button:focus-visible { outline: 2px solid #ff91df; outline-offset: 2px; }
.trust { position: relative; margin: 0; padding: 0 0 1rem; }
.trust .grid { gap: 0; border: 1px solid #d17cec70; border-radius: 18px; background: linear-gradient(110deg,#432044aa,#15152dd9); box-shadow: 0 -7px 25px #cd2bc91a; }
.trust .tcard { padding: 1rem 1.2rem; border: 0; background: none; box-shadow: none; border-radius: 0; }
.trust .tcard + .tcard { border-inline-start: 1px solid #c39ace35; }
.trust .ic img { filter: grayscale(1) sepia(1) saturate(2.4) hue-rotate(243deg) brightness(1.25); }
#products { padding-top: 1rem; }
.catalog-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; max-width: none; margin-bottom: 1.5rem; }
.catalog-heading h2 { font-size: 1.65rem; margin: 0 0 .3rem; }
.catalog-heading h2 span { color: #ed2b9f; }
.catalog-heading p { font-size: .8rem; color: var(--muted); }
.catalog-link { font-size: .75rem; border: 1px solid #be83d76b; border-radius: 999px; padding: .5rem 1rem; white-space: nowrap; }
#productGrid { max-width: none; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
#productGrid .card { padding: 1rem; background: linear-gradient(150deg,#211a3c,#15182e); border: 1px solid #9e71c580; border-radius: 18px; box-shadow: none; }
#productGrid .card:hover { border-color: #e38ee0; box-shadow: 0 12px 32px #9c2c7d25; }
#productGrid .card.card-featured { border-color: #a977d4; box-shadow: none; }
#productGrid .card .badge { position: static; align-self: flex-end; font-size: .65rem; padding: .2rem .6rem; margin-bottom: .5rem; }
#productGrid .card-top { gap: .6rem; margin-bottom: .7rem; padding-left: 0; }
/* App artwork is one complete tile, without a second surrounding frame. */
#productGrid .logo-box {
  width: 58px;
  height: 58px;
  padding: 0;
  flex-shrink: 0;
  margin: 0;
  border: 0;
  background: none;
  border-radius: 16px;
  box-shadow: none;
}
#productGrid .logo-box img {
  width: 58px;
  height: 58px;
  border-radius: 0;
  filter: none;
  object-fit: contain;
  box-shadow: none;
}
#productGrid h3 { font-size: 1.05rem; line-height: 1.45; overflow-wrap: anywhere; }
#productGrid .duration-tag { font-size: .67rem; }
#productGrid .desc { color: #bfb2ce; font-size: .77rem; line-height: 1.8; margin-bottom: .75rem; }
#productGrid ul li { font-size: .75rem; }
#productGrid .card-bottom { margin: 1rem -1rem -1rem; padding: .85rem 1rem; background: #38214150; border-color: #9b71bd40; }
#productGrid .priceline { margin-bottom: .65rem; }
#productGrid .priceline .price { font-size: 1.3rem; }
#productGrid .priceline .unit { font-size: .65rem; }
#productGrid .add { min-height: 42px; font-size: .85rem; border-radius: 13px; background: linear-gradient(110deg,#e51b7d,#b61aab); border: 1px solid #f76cc482; box-shadow: inset 0 1px 3px #ffffff38; }
#productGrid .more-btn { min-height: 34px; font-size: .75rem; border: 0; background: transparent; color: #d9c8e7; margin-top: .3rem; }
@media (max-width:1100px) { .nav { gap: .6rem; } .brand b { font-size: 1rem; } #productGrid { grid-template-columns: repeat(2,minmax(0,1fr)); } .feature-copy { padding-inline: 1rem; } .feature-copy h1,.feature-copy h2 { font-size: 2.6rem; } .feature-controls { right: 1rem; } }
@media (max-width:760px) { .feature-slide { grid-template-columns: 1fr; } .feature-copy { padding: 1.6rem 1rem 1rem; } .feature-art { min-height: 270px; } .feature-art > img { mask-image: linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 84%,transparent); object-position: center; } .feature-controls { position: relative; right: auto; bottom: auto; width: fit-content; margin: .5rem auto 1rem; } .feature-slide[aria-hidden="true"] { position: absolute; inset: 0; } .trust .grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .trust .tcard { padding: .8rem; } .trust .tcard b { font-size: .8rem; } .trust .tcard span { font-size: .67rem; } .catalog-heading { align-items: start; } .catalog-heading h2 { font-size: 1.35rem; } .catalog-link { display: none; } }
@media (max-width:480px) { #productGrid { grid-template-columns: 1fr; } .brand img { width: 42px; height: 42px; } .feature-controls button { padding: .5rem; font-size: .72rem; } .feature-controls #featurePlayback { font-size: .6rem; } }
@media (prefers-reduced-motion:reduce) { .feature-slide { transition: none; } }
#productGrid .desc { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.nav { margin-top: 0; }
.nav .btn-login { background: linear-gradient(110deg,#df1c7f,#b824b1); color: #fff; border-color: #ed74c4; }
@media(max-width:600px) {
  .nav { min-height: 68px; gap: .5rem; }
  .brand { gap: .35rem; }
  .brand b { font-size: .85rem; white-space: nowrap; }
  .nav .cart-btn { width: 36px; height: 38px; padding: .5rem; flex-shrink: 0; }
  .cart-label { display: none; }
  .nav .btn-login { padding: .5rem; gap: .3rem; font-size: .68rem; white-space: nowrap; }
  .nav > div { gap: .35rem !important; }
  .burger { width: 34px; height: 38px; flex-shrink: 0; }
}
.cart-btn > svg { width: 18px; height: 18px; flex-shrink: 0; }
@media(min-width:1101px) {
  .feature-slide { min-height: 390px; }
  .feature-copy { padding-top: 1.4rem; padding-bottom: 5rem; }
  .feature-copy h1,.feature-copy h2 { font-size: clamp(2.7rem,3.8vw,3.7rem); }
  .feature-controls { bottom: .8rem; }
}

/* Product families keep related plans under one entry. */
.nav-dd-menu { width: min(760px,calc(100vw - 3rem)); padding: 1rem; max-height: min(75vh,640px); }
.product-menu-categories { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.1rem; }
.product-menu-category { padding: 0; min-width: 0; }
.product-menu-category + .product-menu-category { border-inline-start: 1px solid var(--line); padding-inline-start: 1rem; }
.product-menu-category h2 { font-size: .8rem; color: #edb5dc; padding: .3rem .5rem .75rem; margin: 0; }
.product-menu-group { border: 0; padding: 0; }
.product-menu-group summary { list-style: none; display: flex; align-items: center; gap: .7rem; padding: .7rem .5rem; border-radius: 8px; font-size: .78rem; font-weight: 500; color: var(--muted); cursor: pointer; }
.product-menu-group summary::-webkit-details-marker { display: none; }
.product-menu-group summary:hover,.product-menu-group[open] summary { color: var(--text); background: #c22c9429; }
.menu-group-chevron { margin-inline-start: auto; }
.product-menu-group[open] .menu-group-chevron { transform: rotate(180deg); }
.product-menu-plans { border-inline-start: 1px solid #d278ca70; margin: .2rem .85rem .6rem 0; padding-inline-start: .45rem; }
.nav .product-menu-plans a { font-size: .7rem; padding: .55rem .45rem; }
.product-menu-plans img { display: none; }
.nav .product-menu-all { justify-content: center; border-top: 1px solid var(--line); margin-top: .7rem; padding-top: .8rem; color: #f6c8e8; }
#loaderLogo { border-radius: 50%; clip-path: circle(49%); aspect-ratio: 1; object-fit: cover; }
@media(max-width:1000px) {
 .product-menu-categories { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .product-menu-category + .product-menu-category { border: 0; padding-inline-start: 0; }
}

#navLogo,#footLogo,#loaderLogo,.brand img{border-radius:0!important;clip-path:none!important;object-fit:contain!important;background:transparent!important;box-shadow:none!important}

/* Plan families keep the selected SKU, price and purchase action together. */
#productGrid .product-plans { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 16px; }
#productGrid .product-plans button { flex:1; min-width:70px; min-height:44px; padding:9px 6px; border-radius:10px; border:1px solid #827399; background:#17142c; color:#e8dff2; font:inherit; font-size:.76rem; cursor:pointer; }
#productGrid .product-plans button[aria-pressed="true"] { background:#eee0fc; color:#251334; border-color:#fff2ff; font-weight:800; }
#productGrid .product-plans button:focus-visible { outline:3px solid #ed7ac8; outline-offset:3px; }
#productGrid .card .add.btn-primary,#productGrid .card .notify-submit { background:#f3c5e7; color:#321537; border:1px solid #ffe8f8; font-weight:800; box-shadow:0 3px 12px #0003; }
#productGrid .card .add.btn-primary:hover,#productGrid .card .notify-submit:hover { background:#ffe3f6; color:#25102c; }
#productGrid .card .add:focus-visible { outline:3px solid #f692d7; outline-offset:3px; }
#productGrid .card .add:disabled { opacity:.6; cursor:not-allowed; }
.feature-slide[hidden],.feature-controls button[hidden],.nav-dd-menu a[hidden],.product-menu-group[hidden] { display:none!important; }
#contact .whatsapp-icon { background:#138943; box-shadow:0 10px 30px #13894333; display:grid; place-items:center; }
#contact .whatsapp-support { background:#138943; color:white; border:1px solid #59d489; box-shadow:none; }
#contact .whatsapp-support:hover { background:#10783a; }
/* The decorative glow must never intercept plan selection. */
#productGrid .card::after { pointer-events:none; }
