@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800;900&display=swap');body.px-rafyzo-storefront-page{margin:0;background:#f7f6f3;color:#19172a;font-family:Inter,Arial,sans-serif}body.px-rafyzo-storefront-page header:not(.px-sf-header),body.px-rafyzo-storefront-page footer:not(.px-sf-footer){display:none!important}.px-sf *{box-sizing:border-box}.px-sf{min-height:100vh}.px-sf-header{height:74px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);border-bottom:1px solid #ece9e5;z-index:30}.px-sf-header.is-sticky{position:sticky;top:0}.px-sf-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.px-sf-brand img{width:46px;height:46px;border-radius:14px;object-fit:cover}.px-sf-brand strong{font-size:20px}.px-sf-contact{display:flex;gap:9px}.px-sf-contact a{padding:10px 13px;border:1px solid #e6e2dc;border-radius:999px;text-decoration:none;color:#393547;font-size:13px;font-weight:700}.px-sf-main{max-width:1380px;margin:auto;padding:18px max(3vw,18px) 50px}.px-sf-hero{min-height:420px;border-radius:26px;background-size:cover;background-position:center;display:flex;align-items:center;padding:55px;color:#fff;overflow:hidden}.px-sf-hero>div{max-width:600px}.px-sf-hero h1{font-size:clamp(34px,5vw,66px);line-height:1.05;margin:0 0 15px}.px-sf-hero p{font-size:18px;line-height:1.8}.px-sf-hero a,.px-sf-view,.px-sf-join{display:inline-block;background:var(--px-sf-primary);color:#fff;text-decoration:none;border-radius:12px;padding:13px 20px;font-weight:800}.px-sf-section{padding:42px 8px}.px-sf-section h2{text-align:center;font-size:28px;margin:0 0 24px}.px-sf-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:13px}.px-sf-categories a{background:#fff;border:1px solid #e8e4de;border-radius:16px;padding:20px;text-decoration:none;color:inherit;display:flex;justify-content:space-between;gap:10px}.px-sf-categories small{color:#777}.px-sf-text{max-width:900px;margin:auto}.px-sf-text p{color:#666170;line-height:1.9}.px-sf-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.px-sf-product{background:#fff;border:1px solid #e9e5df;border-radius:17px;padding:10px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:8px}.px-sf-product-image img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px}.px-sf-product strong{font-size:14px}.px-sf-price{font-weight:900;color:var(--px-sf-primary)}.px-sf-view{text-align:center;padding:10px;font-size:12px;margin-top:auto}.px-sf-media img{width:100%;max-height:480px;object-fit:cover;border-radius:22px;display:block}.px-sf-video{margin:20px 0;position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:22px}.px-sf-video iframe{position:absolute;inset:0;width:100%;height:100%}.px-sf-divider{margin:15px 8px}.px-sf-footer{background:#21105b;color:#fff;padding:28px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.px-sf-footer a{color:var(--px-sf-accent)}.px-sf-footer strong{margin-inline-start:18px}.px-sf-footer .px-sf-join{color:#201644;background:var(--px-sf-accent);padding:9px 15px}.px-sf-empty{text-align:center;color:#777}@media(max-width:900px){.px-sf-products{grid-template-columns:repeat(2,minmax(0,1fr))}.px-sf-hero{min-height:340px;padding:30px}.px-sf-contact a{font-size:0;padding:9px}.px-sf-contact a:before{content:'●';font-size:14px}}@media(max-width:520px){.px-sf-products{grid-template-columns:1fr 1fr;gap:9px}.px-sf-product{padding:7px}.px-sf-header{padding:0 14px}.px-sf-brand strong{font-size:16px}.px-sf-hero{border-radius:18px;min-height:300px}.px-sf-footer strong{width:100%;text-align:center;margin:10px 0 0}}
/* RAFYZO storefront v2 */
.px-sf-header{background:var(--px-sf-header)!important;color:var(--px-sf-header-text)!important;display:grid!important;grid-template-columns:1fr auto 1fr;height:84px}.px-sf-brand{grid-column:2;justify-self:center;flex-direction:row-reverse}.px-sf-brand img{width:58px!important;height:58px!important;object-fit:contain!important;border-radius:10px!important}.px-sf-contact{grid-column:1;grid-row:1;justify-self:start}.px-sf-contact a{color:var(--px-sf-header-text)!important}.px-sf-header-spacer{grid-column:3}.px-sf-main{max-width:none!important;width:100%;padding:18px clamp(18px,4vw,72px) 56px}.px-sf-hero{min-height:480px}.px-sf-media{margin:22px auto}.px-sf-media img{width:100%;object-fit:cover}.px-sf-media.is-4\:5{max-width:560px}.px-sf-media.is-4\:5 img{aspect-ratio:4/5}.px-sf-media.is-1\:1{max-width:760px}.px-sf-media.is-1\:1 img{aspect-ratio:1/1}.px-sf-media.is-16\:9 img,.px-sf-media.is-full img{aspect-ratio:16/9}.px-sf-gallery{position:relative;overflow:hidden;border-radius:22px;margin:24px 0}.px-sf-gallery-track{display:flex;transition:transform .5s ease}.px-sf-gallery-slide{min-width:100%}.px-sf-gallery-slide img{width:100%;aspect-ratio:16/7;object-fit:cover;display:block}.px-sf-gallery button{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#111;font-size:28px;cursor:pointer}.px-sf-gallery-prev{left:16px}.px-sf-gallery-next{right:16px}.px-sf-footer{background:#21105b!important}@media(max-width:700px){.px-sf-header{grid-template-columns:auto 1fr auto;height:auto;padding:12px 14px}.px-sf-brand{grid-column:2}.px-sf-contact{grid-column:1}.px-sf-brand img{width:46px!important;height:46px!important}.px-sf-main{padding-inline:12px}.px-sf-hero{min-height:340px}}

/* RAFYZO: balanced storefront width and automatic image filling */
.px-sf-main{
    width:min(100% - 36px,1240px)!important;
    max-width:1240px!important;
    margin:0 auto!important;
    padding:18px 0 56px!important;
}
.px-sf-hero{
    min-height:390px!important;
    width:100%;
    background-size:cover!important;
    background-position:center!important;
}
.px-sf-media,
.px-sf-gallery,
.px-sf-video{
    width:100%;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
}
.px-sf-media img,
.px-sf-gallery-slide img{
    width:100%;
    height:100%;
    object-fit:cover!important;
    object-position:center;
}
.px-sf-media.is-16\:9 img,
.px-sf-media.is-full img{aspect-ratio:16/9;max-height:none!important}
.px-sf-media.is-4\:5{max-width:560px}
.px-sf-media.is-4\:5 img{aspect-ratio:4/5;max-height:none!important}
.px-sf-media.is-1\:1{max-width:700px}
.px-sf-media.is-1\:1 img{aspect-ratio:1/1;max-height:none!important}
.px-sf-gallery-slide img{aspect-ratio:16/7}
@media(max-width:700px){
    .px-sf-main{width:min(100% - 24px,1240px)!important;padding-inline:0!important}
    .px-sf-hero{min-height:320px!important;padding:28px!important}
}

/* =========================================================
   RAFYZO Storefront – Phase 1
   ========================================================= */
.px-sf-header{
    position:relative;
    display:grid!important;
    grid-template-columns:minmax(120px,1fr) minmax(180px,auto) minmax(120px,1fr);
    align-items:center;
    min-height:82px;
    height:auto;
    padding:10px max(4vw,20px)!important;
    background:var(--px-sf-header)!important;
    color:var(--px-sf-header-text)!important;
}
.px-sf-logo{justify-self:start;display:flex;align-items:center;text-decoration:none}
.px-sf-logo img{display:block;width:var(--px-sf-logo-size);height:var(--px-sf-logo-size);max-width:120px;max-height:120px;object-fit:contain;border-radius:0;background:transparent}
.px-sf-store-name{justify-self:center;color:inherit;text-decoration:none;font-size:clamp(18px,2vw,25px);font-weight:900;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}
.px-sf-contact{justify-self:end;display:flex;gap:10px;align-items:center}
.px-sf-contact a{color:var(--px-sf-header-text)!important;background:rgba(255,255,255,.42)}
.px-sf-main{max-width:1240px!important;margin:0 auto;padding:22px 18px 55px!important}
.px-sf-slider{position:relative;width:100%;overflow:hidden;touch-action:pan-y;border-radius:24px}
.px-sf-slider-track{display:flex;gap:14px;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.px-sf-slider-track>*{flex:0 0 calc((100% - (var(--desktop-count) - 1)*14px)/var(--desktop-count))}
.px-sf-main-banner{margin-bottom:20px}
.px-sf-banner-slide{min-height:390px;border-radius:24px;background-size:cover;background-position:center;display:flex;align-items:center;padding:46px;overflow:hidden}
.px-sf-main-banner.is-square .px-sf-banner-slide{aspect-ratio:1/1;min-height:0}
.px-sf-banner-slide>div{max-width:580px}
.px-sf-banner-slide h1{font-size:clamp(30px,4.5vw,58px);line-height:1.08;margin:0 0 14px}
.px-sf-banner-slide p{font-size:17px;line-height:1.75;margin:0 0 20px}
.px-sf-banner-slide a,.px-sf-banner-block a{display:inline-block;background:var(--px-sf-primary);color:#fff;text-decoration:none;border-radius:12px;padding:13px 20px;font-weight:800}
.px-sf-section h2{margin-bottom:24px}
.px-sf-text h2,.px-sf-text p{text-align:inherit!important}
.px-sf-gallery{margin:24px 0;border-radius:0}
.px-sf-gallery-slide{overflow:hidden;border-radius:16px;background:#eee}
.px-sf-gallery-slide img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.px-sf-banner-block{min-height:340px;border-radius:24px;background-size:cover;background-position:center;display:flex;align-items:center;padding:42px;margin:28px 0;overflow:hidden}
.px-sf-banner-block.is-square{aspect-ratio:1/1;min-height:0}
.px-sf-banner-block>div{max-width:560px}
.px-sf-banner-block h2{font-size:clamp(28px,4vw,48px);margin:0 0 12px}
.px-sf-banner-block p{font-size:17px;line-height:1.7}
.px-sf-media.is-16\:9 img{aspect-ratio:16/9}
.px-sf-media.is-4\:5 img{aspect-ratio:4/5}
.px-sf-media.is-1\:1 img{aspect-ratio:1/1}
.px-sf-media img{object-fit:cover}
@media(max-width:700px){
    .px-sf-header{grid-template-columns:auto minmax(0,1fr) auto;padding:8px 12px!important;min-height:70px}
    .px-sf-logo img{width:min(var(--px-sf-logo-size),58px);height:min(var(--px-sf-logo-size),58px)}
    .px-sf-store-name{max-width:44vw;font-size:16px}
    .px-sf-contact{gap:5px}
    .px-sf-contact a{font-size:0!important;width:38px;height:38px;padding:0!important;display:grid;place-items:center}
    .px-sf-contact a:first-child::after{content:'◎';font-size:18px}
    .px-sf-contact a:last-child::after{content:'◉';font-size:18px}
    .px-sf-slider-track>*{flex-basis:calc((100% - (var(--mobile-count) - 1)*10px)/var(--mobile-count))}
    .px-sf-slider-track{gap:10px}
    .px-sf-banner-slide{min-height:300px;padding:26px;border-radius:18px}
    .px-sf-main-banner.is-square .px-sf-banner-slide{min-height:0}
    .px-sf-banner-block{min-height:280px;padding:26px;border-radius:18px}
}


/* =========================================================
   RAFYZO Storefront – Header & slider stability fix
   ========================================================= */
.px-sf-header{
    display:grid!important;
    grid-template-columns:minmax(110px,1fr) minmax(180px,2fr) minmax(110px,1fr)!important;
    grid-template-areas:"logo name contact"!important;
    align-items:center!important;
    direction:ltr!important;
}
.px-sf-logo{
    grid-area:logo!important;
    grid-column:auto!important;
    justify-self:start!important;
    min-width:0;
}
.px-sf-store-name{
    grid-area:name!important;
    grid-column:auto!important;
    justify-self:center!important;
    min-width:0;
    text-align:center!important;
}
.px-sf-contact{
    grid-area:contact!important;
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:end!important;
    min-width:0;
}
.px-sf-logo:empty,.px-sf-store-name:empty,.px-sf-contact:empty{display:block!important;min-height:1px}
@media(max-width:700px){
    .px-sf-header{grid-template-columns:minmax(56px,1fr) minmax(110px,2fr) minmax(56px,1fr)!important;grid-template-areas:"logo name contact"!important}
}

/* =========================================================
   RAFYZO Storefront – mobile contact menu + grouped banners
   ========================================================= */
.px-sf-menu-toggle{display:none}
.px-sf-banner-group{overflow:hidden;margin:24px 0;border-radius:22px}
.px-sf-banner-group.is-square .px-sf-banner-slide{aspect-ratio:1/1;min-height:0}
.px-sf-banner-group.is-wide .px-sf-banner-slide{min-height:320px}
@media(max-width:700px){
  .px-sf-header{
    position:relative;
    grid-template-columns:minmax(56px,1fr) minmax(110px,2fr) minmax(56px,1fr)!important;
    grid-template-areas:"logo name menu"!important;
    padding:10px 14px!important;
    min-height:72px;
  }
  .px-sf-logo{grid-area:logo!important;justify-self:start!important;min-width:0}
  .px-sf-store-name{grid-area:name!important;justify-self:center!important;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .px-sf-menu-toggle{
    grid-area:menu;
    justify-self:end;
    width:42px;
    height:42px;
    padding:0;
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    border:1px solid rgba(70,60,90,.16);
    border-radius:12px;
    background:rgba(255,255,255,.55);
    color:inherit;
    cursor:pointer;
  }
  .px-sf-menu-toggle span{width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
  .px-sf-menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .px-sf-menu-toggle.is-open span:nth-child(2){opacity:0}
  .px-sf-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .px-sf-contact{
    position:absolute!important;
    top:calc(100% + 8px);
    right:12px;
    left:auto!important;
    z-index:80;
    min-width:190px;
    display:none!important;
    flex-direction:column;
    gap:8px;
    padding:10px;
    border:1px solid rgba(50,42,70,.12);
    border-radius:14px;
    background:#fff;
    box-shadow:0 18px 45px rgba(30,24,48,.18);
  }
  .px-sf-contact.is-open{display:flex!important}
  .px-sf-contact a{display:flex!important;justify-content:center;font-size:13px!important;padding:11px 14px!important;background:#f8f7fb!important;color:#201b36!important}
  .px-sf-contact a:before{display:none!important}
  .px-sf-banner-group.is-wide .px-sf-banner-slide{min-height:270px}
}


/* RAFYZO Storefront – Phase 2 blocks */
.px-sf-section-subtitle{max-width:760px;margin:-12px auto 26px;text-align:center;line-height:1.75}.px-sf-products-custom{display:grid!important;grid-template-columns:repeat(var(--product-columns),minmax(0,1fr))!important}.px-sf-product-slider{overflow:hidden;margin-top:20px}.px-sf-product-slider .px-sf-product{height:100%}.px-sf-section-action{text-align:center;margin-top:26px}.px-sf-section-action a{display:inline-flex;padding:12px 20px;border-radius:12px;background:var(--px-sf-primary);color:#fff;text-decoration:none;font-weight:800}.px-sf-buttons-slider{overflow:hidden;margin:28px 0}.px-sf-custom-button{display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 18px;border-radius:14px;background:var(--button-bg);color:var(--button-text)!important;text-decoration:none;font-weight:900;text-align:center;transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}.animation-lift .px-sf-custom-button:hover{transform:translateY(-5px)}.animation-scale .px-sf-custom-button:hover{transform:scale(1.045)}.animation-color .px-sf-custom-button:hover{filter:brightness(.82)}.animation-shadow .px-sf-custom-button:hover{box-shadow:0 14px 34px rgba(31,22,55,.2)}.px-sf-announcement{margin:22px 0;padding:13px 18px;border-radius:14px;overflow:hidden;background:var(--announcement-bg);color:var(--announcement-text);font-weight:800;text-align:center}.px-sf-announcement a{color:inherit;text-decoration:none}.px-sf-announcement.is-marquee span{display:inline-block;white-space:nowrap;min-width:100%;animation:pxAnnouncement var(--announcement-speed) linear infinite}.px-sf-announcement.direction-right span{animation-direction:reverse}@keyframes pxAnnouncement{from{transform:translateX(100%)}to{transform:translateX(-100%)}}.px-sf-countdown{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:26px;margin:30px 0;padding:30px;border-radius:22px;background:var(--countdown-bg);color:var(--countdown-text)}.px-sf-countdown h2{margin:0 0 8px}.px-sf-countdown p{margin:0;line-height:1.65}.px-sf-countdown-timer{display:flex;gap:10px}.px-sf-countdown-timer span{min-width:76px;padding:12px 10px;border-radius:14px;background:rgba(255,255,255,.1);text-align:center}.px-sf-countdown-timer strong{display:block;color:var(--countdown-timer);font-size:28px}.px-sf-countdown-timer small{font-size:11px}.px-sf-countdown-button{display:inline-flex;padding:12px 18px;border-radius:12px;background:var(--countdown-timer);color:#171223!important;text-decoration:none;font-weight:900}.px-sf-countdown-expired{grid-column:1/-1;text-align:center;font-weight:900;font-size:20px}@media(max-width:700px){.px-sf-products-custom{grid-template-columns:repeat(var(--product-mobile-columns),minmax(0,1fr))!important}.px-sf-countdown{grid-template-columns:1fr;text-align:center;padding:24px 16px}.px-sf-countdown-timer{justify-content:center;gap:6px}.px-sf-countdown-timer span{min-width:62px;padding:10px 6px}.px-sf-countdown-timer strong{font-size:23px}}


/* RAFYZO Storefront – Phase 2 refinements */
.px-sf-announcement-full{width:100%;margin:0!important;border-radius:0!important}
.px-sf-main>.px-sf-announcement{width:100vw;margin-left:calc(50% - 50vw);border-radius:0!important}
.px-sf-buttons-slider{border-radius:0!important}
.px-sf-custom-button{border-radius:var(--button-radius,14px)!important;overflow:hidden}
.px-sf-category-products h2,.px-sf-category-products .px-sf-section-subtitle,.px-sf-category-products .px-sf-section-action{text-align:inherit!important;margin-left:auto;margin-right:auto}
.px-sf-category-products .px-sf-section-action{display:flex;justify-content:inherit}
.px-sf-category-products[style*="text-align:left"] .px-sf-section-action{justify-content:flex-start}
.px-sf-category-products[style*="text-align:center"] .px-sf-section-action{justify-content:center}
.px-sf-category-products[style*="text-align:right"] .px-sf-section-action{justify-content:flex-end}

/* Store category images */
.px-sf-categories a {
    flex-direction: column;
    justify-content: flex-start;
    padding: 10px;
    overflow: hidden;
}
.px-sf-category-image {
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 12px;
    background: linear-gradient(135deg, #eee9ff, #faf9ff);
}
.px-sf-category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.px-sf-category-image svg {
    width: 38px;
    height: 38px;
    fill: none;
    stroke: var(--px-sf-primary);
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.px-sf-category-copy {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 4px 3px 1px;
}
.px-sf-category-copy strong {
    font-size: 14px;
}


/* =========================================================
   Store category cards – image overlay layout
   ========================================================= */
.px-sf-categories {
    grid-template-columns: repeat(auto-fit, minmax(190px, 280px)) !important;
    justify-content: center;
    gap: 18px !important;
}

.px-sf-categories a {
    position: relative;
    display: block !important;
    padding: 0 !important;
    min-width: 0;
    overflow: hidden;
    border-radius: 20px !important;
    background: #fff;
    box-shadow: 0 12px 28px rgba(30, 24, 48, .08);
    transition: transform .22s ease, box-shadow .22s ease;
}

.px-sf-categories a:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 36px rgba(30, 24, 48, .13);
}

.px-sf-category-image {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden;
    border-radius: inherit !important;
    background: linear-gradient(135deg, #eee9ff, #faf9ff);
}

.px-sf-category-image::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(18, 13, 31, .08), rgba(18, 13, 31, .72));
    pointer-events: none;
}

.px-sf-category-image img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: transform .35s ease;
}

.px-sf-categories a:hover .px-sf-category-image img {
    transform: scale(1.045);
}

.px-sf-category-image svg {
    position: relative;
    z-index: 0;
    width: 48px;
    height: 48px;
}

.px-sf-category-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 20px;
    color: #fff;
    text-align: center;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .42);
}

.px-sf-category-overlay strong {
    color: inherit;
    font-size: clamp(17px, 1.8vw, 23px);
    font-weight: 900;
    line-height: 1.2;
}

.px-sf-category-overlay small {
    max-width: 230px;
    color: rgba(255, 255, 255, .9) !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
}

/* Header contact links and mobile hamburger menu */
.px-sf-contact-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.px-sf-contact-link svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.px-sf-contact-link.is-whatsapp svg {
    color: #19a974;
}

@media (max-width: 700px) {
    .px-sf-categories {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 11px !important;
    }

    .px-sf-category-image {
        aspect-ratio: 1 / 1 !important;
    }

    .px-sf-category-overlay {
        padding: 12px;
    }

    .px-sf-category-overlay strong {
        font-size: 15px;
    }

    .px-sf-category-overlay small {
        font-size: 10px;
    }

    .px-sf-menu-toggle {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px;
        border-radius: 13px !important;
        background: rgba(255, 255, 255, .9) !important;
        box-shadow: 0 5px 14px rgba(31, 24, 50, .08);
    }

    .px-sf-menu-toggle.is-open {
        background: var(--px-sf-accent) !important;
        color: #241b36 !important;
    }

    .px-sf-contact {
        right: 14px !important;
        left: auto !important;
        width: min(240px, calc(100vw - 28px)) !important;
        min-width: 0 !important;
        padding: 10px !important;
        gap: 8px !important;
        border-radius: 16px !important;
    }

    .px-sf-contact a,
    .px-sf-contact .px-sf-contact-link {
        width: 100% !important;
        min-height: 45px;
        padding: 11px 14px !important;
        gap: 9px !important;
        border: 1px solid #e9e5f0 !important;
        border-radius: 12px !important;
        background: #f8f7fb !important;
        color: #201b36 !important;
        font-size: 13px !important;
        line-height: 1 !important;
        text-align: center;
        box-sizing: border-box;
    }

    .px-sf-contact a::before,
    .px-sf-contact a::after {
        content: none !important;
        display: none !important;
    }

    .px-sf-contact-link svg {
        display: block !important;
        width: 18px;
        height: 18px;
    }

    .px-sf-contact-link span {
        display: inline !important;
    }
}
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800;900&display=swap');body.px-rafyzo-storefront-page{margin:0;background:#f7f6f3;color:#19172a;font-family:Inter,Arial,sans-serif}body.px-rafyzo-storefront-page header:not(.px-sf-header),body.px-rafyzo-storefront-page footer:not(.px-sf-footer){display:none!important}.px-sf *{box-sizing:border-box}.px-sf{min-height:100vh}.px-sf-header{height:74px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);border-bottom:1px solid #ece9e5;z-index:30}.px-sf-header.is-sticky{position:sticky;top:0}.px-sf-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.px-sf-brand img{width:46px;height:46px;border-radius:14px;object-fit:cover}.px-sf-brand strong{font-size:20px}.px-sf-contact{display:flex;gap:9px}.px-sf-contact a{padding:10px 13px;border:1px solid #e6e2dc;border-radius:999px;text-decoration:none;color:#393547;font-size:13px;font-weight:700}.px-sf-main{max-width:1380px;margin:auto;padding:18px max(3vw,18px) 50px}.px-sf-hero{min-height:420px;border-radius:26px;background-size:cover;background-position:center;display:flex;align-items:center;padding:55px;color:#fff;overflow:hidden}.px-sf-hero>div{max-width:600px}.px-sf-hero h1{font-size:clamp(34px,5vw,66px);line-height:1.05;margin:0 0 15px}.px-sf-hero p{font-size:18px;line-height:1.8}.px-sf-hero a,.px-sf-view,.px-sf-join{display:inline-block;background:var(--px-sf-primary);color:#fff;text-decoration:none;border-radius:12px;padding:13px 20px;font-weight:800}.px-sf-section{padding:42px 8px}.px-sf-section h2{text-align:center;font-size:28px;margin:0 0 24px}.px-sf-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:13px}.px-sf-categories a{background:#fff;border:1px solid #e8e4de;border-radius:16px;padding:20px;text-decoration:none;color:inherit;display:flex;justify-content:space-between;gap:10px}.px-sf-categories small{color:#777}.px-sf-text{max-width:900px;margin:auto}.px-sf-text p{color:#666170;line-height:1.9}.px-sf-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.px-sf-product{background:#fff;border:1px solid #e9e5df;border-radius:17px;padding:10px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:8px}.px-sf-product-image img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px}.px-sf-product strong{font-size:14px}.px-sf-price{font-weight:900;color:var(--px-sf-primary)}.px-sf-view{text-align:center;padding:10px;font-size:12px;margin-top:auto}.px-sf-media img{width:100%;max-height:480px;object-fit:cover;border-radius:22px;display:block}.px-sf-video{margin:20px 0;position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:22px}.px-sf-video iframe{position:absolute;inset:0;width:100%;height:100%}.px-sf-divider{margin:15px 8px}.px-sf-footer{background:#21105b;color:#fff;padding:28px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.px-sf-footer a{color:var(--px-sf-accent)}.px-sf-footer strong{margin-inline-start:18px}.px-sf-footer .px-sf-join{color:#201644;background:var(--px-sf-accent);padding:9px 15px}.px-sf-empty{text-align:center;color:#777}@media(max-width:900px){.px-sf-products{grid-template-columns:repeat(2,minmax(0,1fr))}.px-sf-hero{min-height:340px;padding:30px}.px-sf-contact a{font-size:0;padding:9px}.px-sf-contact a:before{content:'●';font-size:14px}}@media(max-width:520px){.px-sf-products{grid-template-columns:1fr 1fr;gap:9px}.px-sf-product{padding:7px}.px-sf-header{padding:0 14px}.px-sf-brand strong{font-size:16px}.px-sf-hero{border-radius:18px;min-height:300px}.px-sf-footer strong{width:100%;text-align:center;margin:10px 0 0}}
/* RAFYZO storefront v2 */
.px-sf-header{background:var(--px-sf-header)!important;color:var(--px-sf-header-text)!important;display:grid!important;grid-template-columns:1fr auto 1fr;height:84px}.px-sf-brand{grid-column:2;justify-self:center;flex-direction:row-reverse}.px-sf-brand img{width:58px!important;height:58px!important;object-fit:contain!important;border-radius:10px!important}.px-sf-contact{grid-column:1;grid-row:1;justify-self:start}.px-sf-contact a{color:var(--px-sf-header-text)!important}.px-sf-header-spacer{grid-column:3}.px-sf-main{max-width:none!important;width:100%;padding:18px clamp(18px,4vw,72px) 56px}.px-sf-hero{min-height:480px}.px-sf-media{margin:22px auto}.px-sf-media img{width:100%;object-fit:cover}.px-sf-media.is-4\:5{max-width:560px}.px-sf-media.is-4\:5 img{aspect-ratio:4/5}.px-sf-media.is-1\:1{max-width:760px}.px-sf-media.is-1\:1 img{aspect-ratio:1/1}.px-sf-media.is-16\:9 img,.px-sf-media.is-full img{aspect-ratio:16/9}.px-sf-gallery{position:relative;overflow:hidden;border-radius:22px;margin:24px 0}.px-sf-gallery-track{display:flex;transition:transform .5s ease}.px-sf-gallery-slide{min-width:100%}.px-sf-gallery-slide img{width:100%;aspect-ratio:16/7;object-fit:cover;display:block}.px-sf-gallery button{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#111;font-size:28px;cursor:pointer}.px-sf-gallery-prev{left:16px}.px-sf-gallery-next{right:16px}.px-sf-footer{background:#21105b!important}@media(max-width:700px){.px-sf-header{grid-template-columns:auto 1fr auto;height:auto;padding:12px 14px}.px-sf-brand{grid-column:2}.px-sf-contact{grid-column:1}.px-sf-brand img{width:46px!important;height:46px!important}.px-sf-main{padding-inline:12px}.px-sf-hero{min-height:340px}}

/* RAFYZO: balanced storefront width and automatic image filling */
.px-sf-main{
    width:min(100% - 36px,1240px)!important;
    max-width:1240px!important;
    margin:0 auto!important;
    padding:18px 0 56px!important;
}
.px-sf-hero{
    min-height:390px!important;
    width:100%;
    background-size:cover!important;
    background-position:center!important;
}
.px-sf-media,
.px-sf-gallery,
.px-sf-video{
    width:100%;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
}
.px-sf-media img,
.px-sf-gallery-slide img{
    width:100%;
    height:100%;
    object-fit:cover!important;
    object-position:center;
}
.px-sf-media.is-16\:9 img,
.px-sf-media.is-full img{aspect-ratio:16/9;max-height:none!important}
.px-sf-media.is-4\:5{max-width:560px}
.px-sf-media.is-4\:5 img{aspect-ratio:4/5;max-height:none!important}
.px-sf-media.is-1\:1{max-width:700px}
.px-sf-media.is-1\:1 img{aspect-ratio:1/1;max-height:none!important}
.px-sf-gallery-slide img{aspect-ratio:16/7}
@media(max-width:700px){
    .px-sf-main{width:min(100% - 24px,1240px)!important;padding-inline:0!important}
    .px-sf-hero{min-height:320px!important;padding:28px!important}
}

/* =========================================================
   RAFYZO Storefront – Phase 1
   ========================================================= */
.px-sf-header{
    position:relative;
    display:grid!important;
    grid-template-columns:minmax(120px,1fr) minmax(180px,auto) minmax(120px,1fr);
    align-items:center;
    min-height:82px;
    height:auto;
    padding:10px max(4vw,20px)!important;
    background:var(--px-sf-header)!important;
    color:var(--px-sf-header-text)!important;
}
.px-sf-logo{justify-self:start;display:flex;align-items:center;text-decoration:none}
.px-sf-logo img{display:block;width:var(--px-sf-logo-size);height:var(--px-sf-logo-size);max-width:120px;max-height:120px;object-fit:contain;border-radius:0;background:transparent}
.px-sf-store-name{justify-self:center;color:inherit;text-decoration:none;font-size:clamp(18px,2vw,25px);font-weight:900;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}
.px-sf-contact{justify-self:end;display:flex;gap:10px;align-items:center}
.px-sf-contact a{color:var(--px-sf-header-text)!important;background:rgba(255,255,255,.42)}
.px-sf-main{max-width:1240px!important;margin:0 auto;padding:22px 18px 55px!important}
.px-sf-slider{position:relative;width:100%;overflow:hidden;touch-action:pan-y;border-radius:24px}
.px-sf-slider-track{display:flex;gap:14px;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.px-sf-slider-track>*{flex:0 0 calc((100% - (var(--desktop-count) - 1)*14px)/var(--desktop-count))}
.px-sf-main-banner{margin-bottom:20px}
.px-sf-banner-slide{min-height:390px;border-radius:24px;background-size:cover;background-position:center;display:flex;align-items:center;padding:46px;overflow:hidden}
.px-sf-main-banner.is-square .px-sf-banner-slide{aspect-ratio:1/1;min-height:0}
.px-sf-banner-slide>div{max-width:580px}
.px-sf-banner-slide h1{font-size:clamp(30px,4.5vw,58px);line-height:1.08;margin:0 0 14px}
.px-sf-banner-slide p{font-size:17px;line-height:1.75;margin:0 0 20px}
.px-sf-banner-slide a,.px-sf-banner-block a{display:inline-block;background:var(--px-sf-primary);color:#fff;text-decoration:none;border-radius:12px;padding:13px 20px;font-weight:800}
.px-sf-section h2{margin-bottom:24px}
.px-sf-text h2,.px-sf-text p{text-align:inherit!important}
.px-sf-gallery{margin:24px 0;border-radius:0}
.px-sf-gallery-slide{overflow:hidden;border-radius:16px;background:#eee}
.px-sf-gallery-slide img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.px-sf-banner-block{min-height:340px;border-radius:24px;background-size:cover;background-position:center;display:flex;align-items:center;padding:42px;margin:28px 0;overflow:hidden}
.px-sf-banner-block.is-square{aspect-ratio:1/1;min-height:0}
.px-sf-banner-block>div{max-width:560px}
.px-sf-banner-block h2{font-size:clamp(28px,4vw,48px);margin:0 0 12px}
.px-sf-banner-block p{font-size:17px;line-height:1.7}
.px-sf-media.is-16\:9 img{aspect-ratio:16/9}
.px-sf-media.is-4\:5 img{aspect-ratio:4/5}
.px-sf-media.is-1\:1 img{aspect-ratio:1/1}
.px-sf-media img{object-fit:cover}
@media(max-width:700px){
    .px-sf-header{grid-template-columns:auto minmax(0,1fr) auto;padding:8px 12px!important;min-height:70px}
    .px-sf-logo img{width:min(var(--px-sf-logo-size),58px);height:min(var(--px-sf-logo-size),58px)}
    .px-sf-store-name{max-width:44vw;font-size:16px}
    .px-sf-contact{gap:5px}
    .px-sf-contact a{font-size:0!important;width:38px;height:38px;padding:0!important;display:grid;place-items:center}
    .px-sf-contact a:first-child::after{content:'◎';font-size:18px}
    .px-sf-contact a:last-child::after{content:'◉';font-size:18px}
    .px-sf-slider-track>*{flex-basis:calc((100% - (var(--mobile-count) - 1)*10px)/var(--mobile-count))}
    .px-sf-slider-track{gap:10px}
    .px-sf-banner-slide{min-height:300px;padding:26px;border-radius:18px}
    .px-sf-main-banner.is-square .px-sf-banner-slide{min-height:0}
    .px-sf-banner-block{min-height:280px;padding:26px;border-radius:18px}
}


/* =========================================================
   RAFYZO Storefront – Header & slider stability fix
   ========================================================= */
.px-sf-header{
    display:grid!important;
    grid-template-columns:minmax(110px,1fr) minmax(180px,2fr) minmax(110px,1fr)!important;
    grid-template-areas:"logo name contact"!important;
    align-items:center!important;
    direction:ltr!important;
}
.px-sf-logo{
    grid-area:logo!important;
    grid-column:auto!important;
    justify-self:start!important;
    min-width:0;
}
.px-sf-store-name{
    grid-area:name!important;
    grid-column:auto!important;
    justify-self:center!important;
    min-width:0;
    text-align:center!important;
}
.px-sf-contact{
    grid-area:contact!important;
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:end!important;
    min-width:0;
}
.px-sf-logo:empty,.px-sf-store-name:empty,.px-sf-contact:empty{display:block!important;min-height:1px}
@media(max-width:700px){
    .px-sf-header{grid-template-columns:minmax(56px,1fr) minmax(110px,2fr) minmax(56px,1fr)!important;grid-template-areas:"logo name contact"!important}
}

/* =========================================================
   RAFYZO Storefront – mobile contact menu + grouped banners
   ========================================================= */
.px-sf-menu-toggle{display:none}
.px-sf-banner-group{overflow:hidden;margin:24px 0;border-radius:22px}
.px-sf-banner-group.is-square .px-sf-banner-slide{aspect-ratio:1/1;min-height:0}
.px-sf-banner-group.is-wide .px-sf-banner-slide{min-height:320px}
@media(max-width:700px){
  .px-sf-header{
    position:relative;
    grid-template-columns:minmax(56px,1fr) minmax(110px,2fr) minmax(56px,1fr)!important;
    grid-template-areas:"logo name menu"!important;
    padding:10px 14px!important;
    min-height:72px;
  }
  .px-sf-logo{grid-area:logo!important;justify-self:start!important;min-width:0}
  .px-sf-store-name{grid-area:name!important;justify-self:center!important;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .px-sf-menu-toggle{
    grid-area:menu;
    justify-self:end;
    width:42px;
    height:42px;
    padding:0;
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    border:1px solid rgba(70,60,90,.16);
    border-radius:12px;
    background:rgba(255,255,255,.55);
    color:inherit;
    cursor:pointer;
  }
  .px-sf-menu-toggle span{width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
  .px-sf-menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .px-sf-menu-toggle.is-open span:nth-child(2){opacity:0}
  .px-sf-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .px-sf-contact{
    position:absolute!important;
    top:calc(100% + 8px);
    right:12px;
    left:auto!important;
    z-index:80;
    min-width:190px;
    display:none!important;
    flex-direction:column;
    gap:8px;
    padding:10px;
    border:1px solid rgba(50,42,70,.12);
    border-radius:14px;
    background:#fff;
    box-shadow:0 18px 45px rgba(30,24,48,.18);
  }
  .px-sf-contact.is-open{display:flex!important}
  .px-sf-contact a{display:flex!important;justify-content:center;font-size:13px!important;padding:11px 14px!important;background:#f8f7fb!important;color:#201b36!important}
  .px-sf-contact a:before{display:none!important}
  .px-sf-banner-group.is-wide .px-sf-banner-slide{min-height:270px}
}


/* RAFYZO Storefront – Phase 2 blocks */
.px-sf-section-subtitle{max-width:760px;margin:-12px auto 26px;text-align:center;line-height:1.75}.px-sf-products-custom{display:grid!important;grid-template-columns:repeat(var(--product-columns),minmax(0,1fr))!important}.px-sf-product-slider{overflow:hidden;margin-top:20px}.px-sf-product-slider .px-sf-product{height:100%}.px-sf-section-action{text-align:center;margin-top:26px}.px-sf-section-action a{display:inline-flex;padding:12px 20px;border-radius:12px;background:var(--px-sf-primary);color:#fff;text-decoration:none;font-weight:800}.px-sf-buttons-slider{overflow:hidden;margin:28px 0}.px-sf-custom-button{display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 18px;border-radius:14px;background:var(--button-bg);color:var(--button-text)!important;text-decoration:none;font-weight:900;text-align:center;transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}.animation-lift .px-sf-custom-button:hover{transform:translateY(-5px)}.animation-scale .px-sf-custom-button:hover{transform:scale(1.045)}.animation-color .px-sf-custom-button:hover{filter:brightness(.82)}.animation-shadow .px-sf-custom-button:hover{box-shadow:0 14px 34px rgba(31,22,55,.2)}.px-sf-announcement{margin:22px 0;padding:13px 18px;border-radius:14px;overflow:hidden;background:var(--announcement-bg);color:var(--announcement-text);font-weight:800;text-align:center}.px-sf-announcement a{color:inherit;text-decoration:none}.px-sf-announcement.is-marquee span{display:inline-block;white-space:nowrap;min-width:100%;animation:pxAnnouncement var(--announcement-speed) linear infinite}.px-sf-announcement.direction-right span{animation-direction:reverse}@keyframes pxAnnouncement{from{transform:translateX(100%)}to{transform:translateX(-100%)}}.px-sf-countdown{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:26px;margin:30px 0;padding:30px;border-radius:22px;background:var(--countdown-bg);color:var(--countdown-text)}.px-sf-countdown h2{margin:0 0 8px}.px-sf-countdown p{margin:0;line-height:1.65}.px-sf-countdown-timer{display:flex;gap:10px}.px-sf-countdown-timer span{min-width:76px;padding:12px 10px;border-radius:14px;background:rgba(255,255,255,.1);text-align:center}.px-sf-countdown-timer strong{display:block;color:var(--countdown-timer);font-size:28px}.px-sf-countdown-timer small{font-size:11px}.px-sf-countdown-button{display:inline-flex;padding:12px 18px;border-radius:12px;background:var(--countdown-timer);color:#171223!important;text-decoration:none;font-weight:900}.px-sf-countdown-expired{grid-column:1/-1;text-align:center;font-weight:900;font-size:20px}@media(max-width:700px){.px-sf-products-custom{grid-template-columns:repeat(var(--product-mobile-columns),minmax(0,1fr))!important}.px-sf-countdown{grid-template-columns:1fr;text-align:center;padding:24px 16px}.px-sf-countdown-timer{justify-content:center;gap:6px}.px-sf-countdown-timer span{min-width:62px;padding:10px 6px}.px-sf-countdown-timer strong{font-size:23px}}


/* RAFYZO Storefront – Phase 2 refinements */
.px-sf-announcement-full{width:100%;margin:0!important;border-radius:0!important}
.px-sf-main>.px-sf-announcement{width:100vw;margin-left:calc(50% - 50vw);border-radius:0!important}
.px-sf-buttons-slider{border-radius:0!important}
.px-sf-custom-button{border-radius:var(--button-radius,14px)!important;overflow:hidden}
.px-sf-category-products h2,.px-sf-category-products .px-sf-section-subtitle,.px-sf-category-products .px-sf-section-action{text-align:inherit!important;margin-left:auto;margin-right:auto}
.px-sf-category-products .px-sf-section-action{display:flex;justify-content:inherit}
.px-sf-category-products[style*="text-align:left"] .px-sf-section-action{justify-content:flex-start}
.px-sf-category-products[style*="text-align:center"] .px-sf-section-action{justify-content:center}
.px-sf-category-products[style*="text-align:right"] .px-sf-section-action{justify-content:flex-end}

/* Store category images */
.px-sf-categories a {
    flex-direction: column;
    justify-content: flex-start;
    padding: 10px;
    overflow: hidden;
}
.px-sf-category-image {
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 12px;
    background: linear-gradient(135deg, #eee9ff, #faf9ff);
}
.px-sf-category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.px-sf-category-image svg {
    width: 38px;
    height: 38px;
    fill: none;
    stroke: var(--px-sf-primary);
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.px-sf-category-copy {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 4px 3px 1px;
}
.px-sf-category-copy strong {
    font-size: 14px;
}


/* =========================================================
   Store category cards – image overlay layout
   ========================================================= */
.px-sf-categories {
    grid-template-columns: repeat(auto-fit, minmax(190px, 280px)) !important;
    justify-content: center;
    gap: 18px !important;
}

.px-sf-categories a {
    position: relative;
    display: block !important;
    padding: 0 !important;
    min-width: 0;
    overflow: hidden;
    border-radius: 20px !important;
    background: #fff;
    box-shadow: 0 12px 28px rgba(30, 24, 48, .08);
    transition: transform .22s ease, box-shadow .22s ease;
}

.px-sf-categories a:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 36px rgba(30, 24, 48, .13);
}

.px-sf-category-image {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden;
    border-radius: inherit !important;
    background: linear-gradient(135deg, #eee9ff, #faf9ff);
}

.px-sf-category-image::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(18, 13, 31, .08), rgba(18, 13, 31, .72));
    pointer-events: none;
}

.px-sf-category-image img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: transform .35s ease;
}

.px-sf-categories a:hover .px-sf-category-image img {
    transform: scale(1.045);
}

.px-sf-category-image svg {
    position: relative;
    z-index: 0;
    width: 48px;
    height: 48px;
}

.px-sf-category-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 20px;
    color: #fff;
    text-align: center;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .42);
}

.px-sf-category-overlay strong {
    color: inherit;
    font-size: clamp(17px, 1.8vw, 23px);
    font-weight: 900;
    line-height: 1.2;
}

.px-sf-category-overlay small {
    max-width: 230px;
    color: rgba(255, 255, 255, .9) !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
}

/* Header contact links and mobile hamburger menu */
.px-sf-contact-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.px-sf-contact-link svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.px-sf-contact-link.is-whatsapp svg {
    color: #19a974;
}

@media (max-width: 700px) {
    .px-sf-categories {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 11px !important;
    }

    .px-sf-category-image {
        aspect-ratio: 1 / 1 !important;
    }

    .px-sf-category-overlay {
        padding: 12px;
    }

    .px-sf-category-overlay strong {
        font-size: 15px;
    }

    .px-sf-category-overlay small {
        font-size: 10px;
    }

    .px-sf-menu-toggle {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px;
        border-radius: 13px !important;
        background: rgba(255, 255, 255, .9) !important;
        box-shadow: 0 5px 14px rgba(31, 24, 50, .08);
    }

    .px-sf-menu-toggle.is-open {
        background: var(--px-sf-accent) !important;
        color: #241b36 !important;
    }

    .px-sf-contact {
        right: 14px !important;
        left: auto !important;
        width: min(240px, calc(100vw - 28px)) !important;
        min-width: 0 !important;
        padding: 10px !important;
        gap: 8px !important;
        border-radius: 16px !important;
    }

    .px-sf-contact a,
    .px-sf-contact .px-sf-contact-link {
        width: 100% !important;
        min-height: 45px;
        padding: 11px 14px !important;
        gap: 9px !important;
        border: 1px solid #e9e5f0 !important;
        border-radius: 12px !important;
        background: #f8f7fb !important;
        color: #201b36 !important;
        font-size: 13px !important;
        line-height: 1 !important;
        text-align: center;
        box-sizing: border-box;
    }

    .px-sf-contact a::before,
    .px-sf-contact a::after {
        content: none !important;
        display: none !important;
    }

    .px-sf-contact-link svg {
        display: block !important;
        width: 18px;
        height: 18px;
    }

    .px-sf-contact-link span {
        display: inline !important;
    }
}

/* RAFYZO store settings */
body.px-rafyzo-storefront-page,.px-sf{font-family:var(--px-store-font,Inter,Arial,sans-serif)!important}.px-sf button,.px-sf input,.px-sf select,.px-sf textarea{font:inherit}.px-sf-store-closed{display:flex;align-items:center;justify-content:center;gap:10px;margin:4px 0 18px;padding:14px 18px;border:1px solid #f0d39b;border-radius:14px;background:#fff8e8;color:#76510b;text-align:center}.px-sf-store-closed strong{font-weight:900}.px-sf-store-closed span{font-size:13px}.px-sf-contact-link{text-decoration:none!important}@media(max-width:620px){.px-sf-store-closed{align-items:flex-start;flex-direction:column;text-align:left}}

/* =========================================================
   RAFYZO — Product cards: full image fit and sale price hierarchy
   ========================================================= */
.px-sf-product {
    overflow: hidden;
    border: 1px solid #e3dee9 !important;
    border-radius: 19px !important;
    background: #fff;
    box-shadow: 0 7px 22px rgba(39,27,67,.045);
}

.px-sf-product-image {
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 1px solid #efebf2;
    border-radius: 14px;
    background: #faf9fb;
}

.px-sf-product-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    aspect-ratio: auto !important;
    padding: 7px;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent;
}

.px-sf-price {
    min-height: 42px;
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 2px;
    margin-top: 1px;
    line-height: 1.15;
    text-align: left;
}

.px-sf-price del {
    order: 1;
    color: #96909d;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.15;
    opacity: .9;
}

.px-sf-price ins {
    order: 2;
    color: var(--px-sf-primary);
    font-size: 19px;
    font-weight: 950;
    line-height: 1.15;
    text-decoration: none;
}

.px-sf-price > .woocommerce-Price-amount {
    color: var(--px-sf-primary);
    font-size: 19px;
    font-weight: 950;
}

.px-sf-product.is-price-hidden .px-sf-view {
    margin-top: auto;
}

@media (max-width: 520px) {
    .px-sf-product-image img {
        padding: 5px;
    }

    .px-sf-price {
        min-height: 37px;
    }

    .px-sf-price ins,
    .px-sf-price > .woocommerce-Price-amount {
        font-size: 16px;
    }

    .px-sf-price del {
        font-size: 10px;
    }
}

/* =========================================================
   RAFYZO Storefront – device-specific responsive controls
   ========================================================= */
.px-sf-responsive-block{
    margin-top:var(--px-space-top-desktop,0)!important;
    margin-bottom:var(--px-space-bottom-desktop,0)!important;
}
@media(min-width:1025px){.px-sf-hide-desktop{display:none!important}}
@media(min-width:701px) and (max-width:1024px){.px-sf-hide-tablet{display:none!important}}
@media(max-width:700px){.px-sf-hide-mobile{display:none!important}}

.px-sf-responsive-block.px-sf-section .px-sf-categories{
    grid-template-columns:repeat(var(--px-columns-desktop,4),minmax(0,1fr))!important;
}
.px-sf-responsive-block.px-sf-section>.px-sf-products{
    grid-template-columns:repeat(var(--px-columns-desktop,4),minmax(0,1fr))!important;
}
.px-sf-text{text-align:var(--px-content-align-desktop,center)!important}
.px-sf-text h2,.px-sf-category-products h2{font-size:var(--px-title-size-desktop,42px)!important;text-align:inherit!important}
.px-sf-text p,.px-sf-category-products .px-sf-section-subtitle{font-size:var(--px-text-size-desktop,17px)!important;text-align:inherit!important}

.px-sf-responsive-image,.px-sf-responsive-image>a,.px-sf-responsive-image picture{display:block;width:100%}
.px-sf-responsive-image img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:var(--px-image-ratio-desktop,16/9)!important;
    object-fit:cover!important;
    object-position:var(--px-image-position-desktop,center center)!important;
    border-radius:22px;
}

.px-sf-banner-slide{
    background-image:linear-gradient(90deg,rgba(10,8,20,.58),rgba(10,8,20,.10)),var(--px-banner-image-desktop)!important;
    background-position:var(--px-main-position-desktop,var(--px-image-position-desktop,center center))!important;
    justify-content:var(--px-main-justify-desktop,var(--px-content-justify-desktop,flex-start))!important;
    text-align:var(--px-main-align-desktop,var(--px-content-align-desktop,left))!important;
}
.px-sf-main-banner .px-sf-banner-slide{min-height:var(--px-main-height-desktop,390px)!important}
.px-sf-main-banner .px-sf-banner-slide h1{font-size:var(--px-main-title-desktop,52px)!important}
.px-sf-main-banner .px-sf-banner-slide p{font-size:var(--px-main-text-desktop,17px)!important}
.px-sf-banner-group .px-sf-banner-slide{min-height:var(--px-responsive-height-desktop,360px)!important}
.px-sf-banner-group .px-sf-banner-slide h2{font-size:var(--px-title-size-desktop,42px)!important}
.px-sf-banner-group .px-sf-banner-slide p{font-size:var(--px-text-size-desktop,17px)!important}

.px-sf-main-arrow{
    position:absolute;
    top:50%;
    z-index:8;
    width:52px;
    height:72px;
    padding:0;
    display:none;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:0;
    background:transparent;
    color:#fff;
    box-shadow:none;
    transform:translateY(-50%);
    cursor:pointer;
    filter:drop-shadow(0 3px 8px rgba(16,8,35,.55));
    transition:transform .2s ease,color .2s ease,opacity .2s ease;
}
.px-sf-main-arrow svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.px-sf-main-arrow.is-prev{left:10px}
.px-sf-main-arrow.is-next{right:10px}
.px-sf-main-arrow:hover{color:var(--px-sf-accent,#b7f400);transform:translateY(-50%) scale(1.1)}
@media(min-width:1025px){.px-sf-main-arrow{display:flex}}

@media(min-width:701px) and (max-width:1024px){
    .px-sf-responsive-block{margin-top:var(--px-space-top-tablet,0)!important;margin-bottom:var(--px-space-bottom-tablet,0)!important}
    .px-sf-slider-track>*{flex-basis:calc((100% - (var(--tablet-count,1) - 1)*12px)/var(--tablet-count,1))!important}
    .px-sf-slider-track{gap:12px!important}
    .px-sf-responsive-block.px-sf-section .px-sf-categories{grid-template-columns:repeat(var(--px-columns-tablet,3),minmax(0,1fr))!important}
    .px-sf-responsive-block.px-sf-section>.px-sf-products{grid-template-columns:repeat(var(--px-columns-tablet,3),minmax(0,1fr))!important}
    .px-sf-products-custom{grid-template-columns:repeat(var(--product-tablet-columns,2),minmax(0,1fr))!important}
    .px-sf-text,.px-sf-category-products{text-align:var(--px-content-align-tablet,center)!important}
    .px-sf-text h2,.px-sf-category-products h2{font-size:var(--px-title-size-tablet,34px)!important}
    .px-sf-text p,.px-sf-category-products .px-sf-section-subtitle{font-size:var(--px-text-size-tablet,16px)!important}
    .px-sf-responsive-image img{aspect-ratio:var(--px-image-ratio-tablet,16/9)!important;object-position:var(--px-image-position-tablet,center center)!important}
    .px-sf-banner-slide{background-image:linear-gradient(90deg,rgba(10,8,20,.54),rgba(10,8,20,.12)),var(--px-banner-image-tablet)!important;background-position:var(--px-main-position-tablet,var(--px-image-position-tablet,center center))!important;justify-content:var(--px-main-justify-tablet,var(--px-content-justify-tablet,flex-start))!important;text-align:var(--px-main-align-tablet,var(--px-content-align-tablet,left))!important}
    .px-sf-main-banner .px-sf-banner-slide{min-height:var(--px-main-height-tablet,330px)!important}
    .px-sf-main-banner .px-sf-banner-slide h1{font-size:var(--px-main-title-tablet,42px)!important}
    .px-sf-main-banner .px-sf-banner-slide p{font-size:var(--px-main-text-tablet,16px)!important}
    .px-sf-banner-group .px-sf-banner-slide{min-height:var(--px-responsive-height-tablet,300px)!important}
    .px-sf-banner-group .px-sf-banner-slide h2{font-size:var(--px-title-size-tablet,34px)!important}
    .px-sf-banner-group .px-sf-banner-slide p{font-size:var(--px-text-size-tablet,16px)!important}
}

@media(max-width:700px){
    .px-sf-responsive-block{margin-top:var(--px-space-top-mobile,0)!important;margin-bottom:var(--px-space-bottom-mobile,0)!important}
    .px-sf-responsive-block.px-sf-section .px-sf-categories{grid-template-columns:repeat(var(--px-columns-mobile,2),minmax(0,1fr))!important}
    .px-sf-responsive-block.px-sf-section>.px-sf-products{grid-template-columns:repeat(var(--px-columns-mobile,2),minmax(0,1fr))!important}
    .px-sf-text,.px-sf-category-products{text-align:var(--px-content-align-mobile,center)!important}
    .px-sf-text h2,.px-sf-category-products h2{font-size:var(--px-title-size-mobile,27px)!important}
    .px-sf-text p,.px-sf-category-products .px-sf-section-subtitle{font-size:var(--px-text-size-mobile,14px)!important}
    .px-sf-responsive-image img{aspect-ratio:var(--px-image-ratio-mobile,4/5)!important;object-position:var(--px-image-position-mobile,center center)!important;border-radius:16px}
    .px-sf-banner-slide{background-image:linear-gradient(180deg,rgba(10,8,20,.22),rgba(10,8,20,.68)),var(--px-banner-image-mobile)!important;background-position:var(--px-main-position-mobile,var(--px-image-position-mobile,center center))!important;justify-content:var(--px-main-justify-mobile,var(--px-content-justify-mobile,center))!important;text-align:var(--px-main-align-mobile,var(--px-content-align-mobile,center))!important;padding:24px 20px!important}
    .px-sf-banner-slide>div{max-width:100%!important;width:100%}
    .px-sf-main-banner .px-sf-banner-slide{min-height:var(--px-main-height-mobile,280px)!important}
    .px-sf-main-banner .px-sf-banner-slide h1{font-size:var(--px-main-title-mobile,30px)!important}
    .px-sf-main-banner .px-sf-banner-slide p{font-size:var(--px-main-text-mobile,14px)!important;line-height:1.6}
    .px-sf-banner-group .px-sf-banner-slide{min-height:var(--px-responsive-height-mobile,240px)!important}
    .px-sf-banner-group .px-sf-banner-slide h2{font-size:var(--px-title-size-mobile,27px)!important}
    .px-sf-banner-group .px-sf-banner-slide p{font-size:var(--px-text-size-mobile,14px)!important}
}
