/* Uploaded logos get a real, proportional space in each masthead. */
.store-header .store-brand { min-width:0; flex-shrink:0; }
.store-header .store-brand img {
    display:block;
    width:clamp(220px,21vw,280px);
    height:128px;
    max-width:100%;
    max-height:none;
    object-fit:contain;
    object-position:left center;
}
.theme-ludico .store-header .store-brand img { width:clamp(240px,24vw,310px); height:150px; }
.theme-minimalista .store-header .store-brand img { width:240px; height:112px; }
.theme-moderno .store-header .store-brand img { width:260px; height:124px; }
.theme-elegante .store-header .store-brand img { object-position:center; }
@media(max-width:1050px) {
    :is(.theme-ludico,.theme-minimalista,.theme-moderno,.theme-elegante) .store-header .store-brand img { width:230px; height:120px; }
}
@media(max-width:700px) {
    .store-header .store-brand { flex-shrink:1; max-width:calc(100% - 100px); }
    :is(.theme-ludico,.theme-minimalista,.theme-moderno,.theme-elegante) .store-header .store-brand img { width:min(54vw,210px); height:104px; max-width:100%; object-position:left center; }
    .theme-ludico .store-header .store-brand img { height:112px; }
    .store-header .header-main { column-gap:12px; }
    .store-header .store-actions { flex-shrink:0; margin-left:auto; }
}
@media(max-width:365px) {
    :is(.theme-ludico,.theme-minimalista,.theme-moderno,.theme-elegante) .store-header .store-brand img { height:90px; }
    .theme-ludico .store-header .store-brand img { height:96px; }
}

/* Lúdico: fill the center of the masthead with the product search. */
.theme-ludico .store-header .playful-masthead {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-areas:"brand search actions";
    align-items:center;
    gap:clamp(20px,3vw,48px);
}
.theme-ludico .playful-masthead>.store-brand { grid-area:brand; max-width:100%; }
.theme-ludico .playful-masthead>.store-search { grid-area:search; width:100%; max-width:none; min-width:0; margin:0; }
.theme-ludico .playful-masthead>.store-actions { grid-area:actions; }
@media(max-width:760px) {
    .theme-ludico .store-header .playful-masthead {
        grid-template-columns:minmax(0,1fr) auto;
        grid-template-areas:"brand actions" "search search";
        column-gap:12px;
        row-gap:14px;
        padding-bottom:14px;
    }
}

/* Keep the Lúdico masthead on one alignment axis with consistent spacing. */
@media(min-width:761px) {
    .theme-ludico .store-header .playful-masthead {
        grid-template-columns:auto minmax(0,1fr) auto;
        column-gap:28px;
        padding-block:16px 8px;
        min-height:0;
    }
    .theme-ludico .store-header .playful-masthead>.store-brand img {
        width:auto;
        height:150px;
        max-width:280px;
        object-position:left center;
    }
}
.theme-ludico .playful-masthead>.store-search {
    display:flex;
    align-items:center;
    height:48px;
    padding:0;
    box-sizing:border-box;
    align-self:center;
}
.theme-ludico .playful-masthead>.store-search input {
    height:100%;
    margin:0;
    padding:0 18px;
    border:0;
    border-radius:0;
    background:transparent;
    box-sizing:border-box;
    line-height:normal;
}
.theme-ludico .playful-masthead>.store-search button {
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 48px;
    width:48px;
    height:100%;
    padding:0;
    margin:0;
}
.theme-ludico .playful-masthead>.store-actions {
    align-items:center;
    justify-content:flex-end;
    gap:24px;
    margin:0;
}
.theme-ludico .playful-masthead>.store-actions>a {
    display:flex;
    align-items:center;
    min-height:48px;
    margin:0;
    gap:9px;
}
.theme-ludico .store-header>.shop-navigation {
    padding-block:8px 12px;
}
@media(min-width:761px) and (max-width:1050px) {
    .theme-ludico .store-header .playful-masthead { column-gap:20px; }
    .theme-ludico .store-header .playful-masthead>.store-brand img { height:120px; max-width:230px; }
    .theme-ludico .playful-masthead>.store-actions { gap:16px; }
}
@media(max-width:760px) {
    .theme-ludico .store-header .playful-masthead { padding-block:12px 8px; row-gap:10px; }
    .theme-ludico .playful-masthead>.store-actions { gap:12px; }
    .theme-ludico .store-header>.shop-navigation { padding-block:4px 10px; }
}
