/* Ajustes propios de Bruja de Lujo. No se comparten con otros StoreFront. */
.storefront-shell.theme-bruja .store-cms-circle-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin: 28px 0 18px;
}

.storefront-shell.theme-bruja .store-cms-circle-heading p {
    margin: 0 0 5px;
    color: #d4af37;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.storefront-shell.theme-bruja .store-cms-circle-heading h2 {
    margin: 0 0 7px;
    color: #fff8d6;
    font-size: clamp(1.45rem, 2.4vw, 2rem);
    line-height: 1.12;
}

.storefront-shell.theme-bruja .store-cms-circle-heading span { color: #e3d7ef; }
.storefront-shell.theme-bruja .store-cms-circle-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.storefront-shell.theme-bruja .store-cms-circle-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }

.storefront-shell.theme-bruja .store-cms-circle-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(212, 175, 55, .24);
    border-radius: 12px;
    background: #150d1d;
    color: #f7f0ff;
    text-decoration: none;
}

.storefront-shell.theme-bruja .store-cms-circle-card > img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: #09070d; }
.storefront-shell.theme-bruja .store-cms-circle-card-body { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: 16px; }
.storefront-shell.theme-bruja .store-cms-circle-card span,
.storefront-shell.theme-bruja .store-cms-circle-card p { color: #d8cbe4; }
.storefront-shell.theme-bruja .store-cms-circle-card strong { color: #fff8d6; font-size: 1.08rem; line-height: 1.25; }
.storefront-shell.theme-bruja .store-cms-circle-card em { margin-top: auto; color: #d4af37; font-style: normal; font-weight: 800; }

.storefront-shell.theme-bruja .store-register-login-link,
.storefront-shell.theme-bruja .store-register-login-link:hover,
.storefront-shell.theme-bruja .store-register-login-link:focus-visible {
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 4px 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #d4af37 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    transform: none !important;
}

.storefront-shell.theme-bruja .bruja-about { width: min(1180px, 100%); margin: 0 auto; color: #efe8f5; }
.storefront-shell.theme-bruja .bruja-about-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
    gap: clamp(28px, 5vw, 72px);
    align-items: center;
    padding: clamp(28px, 5vw, 64px);
    border: 1px solid rgba(212, 175, 55, .24);
    border-radius: 22px;
    background: linear-gradient(135deg, #170d1f 0%, #0c0910 100%);
    overflow: hidden;
}

.storefront-shell.theme-bruja .bruja-about-copy { min-width: 0; }
.storefront-shell.theme-bruja .bruja-about-logo { display: block; width: min(210px, 60%); height: auto; margin: 0 0 30px; }
.storefront-shell.theme-bruja .bruja-about-kicker { margin: 0 0 10px; color: #d4af37; font-size: .82rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.storefront-shell.theme-bruja .bruja-about h1 { margin: 0; color: #f1e9f3; font-size: clamp(1.75rem, 3vw, 2.8rem); font-weight: 600; line-height: 1.12; letter-spacing: .01em; }
.storefront-shell.theme-bruja .bruja-about-lead { max-width: 610px; margin: 24px 0 0; color: #e0d4e8; font-size: clamp(1.12rem, 2vw, 1.45rem); line-height: 1.55; }
.storefront-shell.theme-bruja .storefront-nav { overflow: visible; }

.storefront-shell.theme-bruja .storefront-catalog-shell,
.storefront-shell.theme-bruja .storefront-products-area,
.storefront-shell.theme-bruja .storefront-results-head h1,
.storefront-shell.theme-bruja .storefront-results-head h2 { color: #f7f0ff; }

.storefront-shell.theme-bruja .storefront-category-rail a,
.storefront-shell.theme-bruja .storefront-category-rail a:link,
.storefront-shell.theme-bruja .storefront-category-rail a:visited,
.storefront-shell.theme-bruja .storefront-category-rail a.level-1,
.storefront-shell.theme-bruja .storefront-category-rail a.level-2 { color: #fff4df !important; }
.storefront-shell.theme-bruja .storefront-category-rail small { color: #ead9b7 !important; }
.storefront-shell.theme-bruja .storefront-category-rail a:hover,
.storefront-shell.theme-bruja .storefront-category-rail a.active,
.storefront-shell.theme-bruja .storefront-category-rail a:hover small,
.storefront-shell.theme-bruja .storefront-category-rail a.active small { color: #ffffff !important; }
.storefront-shell.theme-bruja .storefront-category-branch > summary::after { color: #d4af37; }
.storefront-shell.theme-bruja .storefront-results-head > span { border: 1px solid rgba(212, 175, 55, .38); background: rgba(196, 92, 255, .2); color: #fff4df !important; }

.storefront-shell.theme-bruja .storefront-catalog-controls,
.storefront-shell.theme-bruja .storefront-catalog-controls .catalog-filter-field,
.storefront-shell.theme-bruja .storefront-catalog-controls .catalog-filter-field > span,
.storefront-shell.theme-bruja .storefront-catalog-controls input,
.storefront-shell.theme-bruja .storefront-catalog-controls select { color: #fff4df !important; }
.storefront-shell.theme-bruja .storefront-catalog-controls input::placeholder { color: #d7c7e6 !important; opacity: 1; }
.storefront-shell.theme-bruja .storefront-catalog-controls select option { background: #160c20; color: #fff4df; }

.storefront-shell.theme-bruja .catalog-filter-actions a,
.storefront-shell.theme-bruja .catalog-filter-actions a:link,
.storefront-shell.theme-bruja .catalog-filter-actions a:visited,
.storefront-shell.theme-bruja .storefront-page-link,
.storefront-shell.theme-bruja .storefront-page-gap { color: #fff4df !important; }

.storefront-shell.theme-bruja .bruja-about-portrait { margin: 0; justify-self: start; width: auto; max-width: 100%; max-height: 680px; border: 1px solid rgba(212, 175, 55, .32); border-radius: 18px; box-shadow: 0 24px 70px rgba(0, 0, 0, .42); overflow: hidden; }
.storefront-shell.theme-bruja .bruja-about-portrait img { display: block; width: auto; max-width: 100%; height: auto; max-height: 680px; object-fit: contain; }
.storefront-shell.theme-bruja .bruja-about-story { max-width: 900px; margin: clamp(36px, 6vw, 72px) auto 0; color: #d9cfdf; font-size: 1.05rem; line-height: 1.8; }
.storefront-shell.theme-bruja .bruja-about-story p { margin: 0 0 1.4em; }
.storefront-shell.theme-bruja .bruja-about-closing { padding: 24px 26px; border-left: 3px solid #d4af37; background: rgba(212, 175, 55, .07); color: #fff8d6; font-size: 1.16rem; }
.storefront-shell.theme-bruja .bruja-about-signature { color: #d4af37; font-size: 1.35rem; font-weight: 800; }

/* Fondo completo; solo el texto se ajusta a 1000 px. */
.storefront-shell.theme-bruja .store-detail-description { width: 100%; }
.storefront-shell.theme-bruja .store-detail-description-html { width: min(100%, 1000px); margin-inline: auto; }

@media (max-width: 900px) {
    .storefront-shell.theme-bruja .bruja-about-hero { grid-template-columns: 1fr; }
    .storefront-shell.theme-bruja .bruja-about-portrait { width: min(460px, 100%); margin: 0 auto; }
    .storefront-shell.theme-bruja .store-cms-circle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .storefront-shell.theme-bruja .bruja-about-hero { gap: 28px; padding: 22px; border-radius: 14px; }
    .storefront-shell.theme-bruja .bruja-about-logo { margin-bottom: 22px; }
    .storefront-shell.theme-bruja .bruja-about-story { font-size: 1rem; line-height: 1.7; }
    .storefront-shell.theme-bruja .store-cms-circle-heading { align-items: stretch; flex-direction: column; }
    .storefront-shell.theme-bruja .store-cms-circle-grid { grid-template-columns: 1fr; }
}
