/* Pro Product Builder - Frontend */
.ppb-product-shell{
    width:min(1180px,calc(100% - 32px));
    margin:32px auto 64px;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:#172033;
}
.ppb-breadcrumbs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    margin:0 0 22px;
    font-size:12px;
    color:#7b8496;
}
.ppb-breadcrumbs a{
    color:#586174;
    text-decoration:none;
}
.ppb-breadcrumbs a:hover{text-decoration:underline}
.ppb-bc-sep{opacity:.55}
.ppb-product-grid{
    display:grid;
    grid-template-columns:minmax(0,1.38fr) minmax(320px,.82fr);
    gap:28px;
    align-items:start;
}
.ppb-product-info{min-width:0}
.ppb-product-title{
    margin:0 0 8px;
    font-size:clamp(24px,3vw,34px);
    line-height:1.15;
    letter-spacing:-.025em;
    color:#111827;
}
.ppb-price{
    margin:0 0 22px;
    font-size:28px;
    font-weight:800;
    line-height:1;
    color:#111827;
}
.ppb-gallery-main{
    overflow:hidden;
    border:1px solid #e8ebf0;
    border-radius:8px;
    background:#f4f6f8;
    aspect-ratio:4/3;
}
.ppb-gallery-main img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
}
.ppb-gallery-thumbs{
    display:flex;
    gap:10px;
    margin-top:12px;
    overflow-x:auto;
    padding-bottom:3px;
}
.ppb-gallery-thumb{
    width:78px;
    height:62px;
    flex:0 0 auto;
    padding:0;
    border:1px solid #dfe3ea;
    border-radius:6px;
    overflow:hidden;
    background:#fff;
    cursor:pointer;
}
.ppb-gallery-thumb.is-active{
    border-color:#4f46e5;
    box-shadow:0 0 0 1px #4f46e5;
}
.ppb-gallery-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.ppb-gallery-empty{
    display:grid;
    place-items:center;
    min-height:360px;
    padding:24px;
    border:1px dashed #cfd5df;
    border-radius:10px;
    color:#697386;
    background:#fafbfc;
}
.ppb-specs{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    margin:0 0 18px;
    padding:14px 0;
    border-top:1px solid #edf0f4;
    border-bottom:1px solid #edf0f4;
}
.ppb-spec-item{
    min-width:0;
    padding:9px 14px 9px 0;
}
.ppb-spec-label{
    display:block;
    margin-bottom:2px;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.045em;
    color:#8a93a4;
}
.ppb-spec-value{
    display:block;
    overflow-wrap:anywhere;
    font-size:13px;
    color:#273142;
}
.ppb-seller-card,
.ppb-contact-card{
    border:1px solid #e7eaf0;
    border-radius:8px;
    background:#fff;
    box-shadow:0 8px 24px rgba(16,24,40,.04);
}
.ppb-seller-card{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px;
    margin:0 0 20px;
}
.ppb-seller-avatar{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    flex:0 0 auto;
    border-radius:8px;
    background:#eef2ff;
    color:#4338ca;
    font-weight:800;
}
.ppb-seller-info{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
    margin-right:auto;
}
.ppb-seller-name{font-size:13px}
.ppb-seller-location{font-size:11px;color:#8a93a4}
.ppb-seller-rating{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    font-size:11px;
}
.ppb-stars{
    color:#f59e0b;
    letter-spacing:1px;
    font-size:10px;
}
.ppb-seller-rating small{color:#9aa2b0}
.ppb-description{
    margin:0 0 20px;
    font-size:14px;
    line-height:1.75;
    color:#5c6576;
}
.ppb-description p:first-child{margin-top:0}
.ppb-description p:last-child{margin-bottom:0}
.ppb-section-title{
    margin:0 0 10px;
    font-size:18px;
    color:#172033;
}
.ppb-contact-card{
    padding:18px;
}
.ppb-contact-card h2{
    margin:0 0 3px;
    font-size:17px;
    color:#172033;
}
.ppb-contact-subtitle{
    margin:0 0 14px;
    font-size:12px;
    color:#7b8496;
}
.ppb-contact-actions{
    display:grid;
    gap:9px;
}
.ppb-contact-row{
    display:flex;
    align-items:center;
    gap:12px;
    justify-content:space-between;
    padding:10px 11px;
    border:1px solid #eaedf2;
    border-radius:7px;
}
.ppb-contact-row>div{
    min-width:0;
    display:flex;
    flex-direction:column;
}
.ppb-contact-row span{
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#979fad;
}
.ppb-contact-row strong{
    overflow-wrap:anywhere;
    font-size:12px;
}
.ppb-contact-button{
    flex:0 0 auto;
    padding:7px 11px;
    border:1px solid #dfe3eb;
    border-radius:5px;
    color:#4f46e5;
    text-decoration:none;
    font-size:11px;
    font-weight:700;
    background:#fff;
}
.ppb-contact-button:hover{
    background:#f7f7ff;
}
.ppb-dynamic-field{
    display:flex;
    gap:8px;
    align-items:baseline;
}
.ppb-field-label{font-size:12px;color:#8a93a4}
.ppb-field-value{font-weight:700}
.ppb-taxonomy a{color:inherit}
@media(max-width:820px){
    .ppb-product-grid{grid-template-columns:1fr}
    .ppb-product-shell{width:min(100% - 24px,720px);margin-top:20px}
}
@media(max-width:480px){
    .ppb-specs{grid-template-columns:1fr 1fr}
    .ppb-seller-card{align-items:flex-start;flex-wrap:wrap}
    .ppb-seller-rating{width:100%;align-items:flex-start;padding-left:50px}
    .ppb-contact-row{align-items:flex-start}
}


/* Página de todas las categorías */
.ppb-categories-page{
    width:min(1180px,calc(100% - 32px));
    margin:38px auto 70px;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:#172033;
}
.ppb-categories-header{
    margin:0 0 28px;
}
.ppb-categories-header h1{
    margin:0 0 8px;
    font-size:clamp(30px,4vw,46px);
    line-height:1.05;
    letter-spacing:-.035em;
    color:#111827;
}
.ppb-categories-header p{
    margin:0;
    max-width:680px;
    color:#747d8d;
    font-size:15px;
    line-height:1.6;
}
.ppb-categories-grid{
    display:grid;
    gap:18px;
}
.ppb-categories-columns-1{grid-template-columns:1fr}
.ppb-categories-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ppb-categories-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ppb-categories-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ppb-category-card{
    min-width:0;
    overflow:hidden;
    border:1px solid #e6e9ef;
    border-radius:12px;
    background:#fff;
    box-shadow:0 10px 28px rgba(16,24,40,.045);
}
.ppb-category-card-main{
    display:flex;
    gap:14px;
    align-items:center;
    padding:18px;
    color:inherit;
    text-decoration:none;
    transition:background .18s ease;
}
.ppb-category-card-main:hover{
    background:#fafbfc;
}
.ppb-category-card-icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    flex:0 0 auto;
    border-radius:9px;
    background:#f2f4f7;
    color:#475467;
    font-weight:800;
}
.ppb-category-card-copy{
    min-width:0;
}
.ppb-category-card-copy h2{
    margin:0 0 4px;
    font-size:17px;
    line-height:1.2;
    color:#172033;
}
.ppb-category-card-copy span{
    font-size:12px;
    color:#8a93a4;
}
.ppb-category-children{
    display:grid;
    gap:0;
    padding:0 18px 14px;
}
.ppb-category-children a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:9px 0;
    border-top:1px solid #f0f1f4;
    color:#566070;
    text-decoration:none;
    font-size:13px;
}
.ppb-category-children a:hover span{
    text-decoration:underline;
}
.ppb-category-children small{
    color:#a0a7b3;
    font-size:11px;
}
.ppb-categories-empty{
    padding:28px;
    border:1px dashed #cfd5df;
    border-radius:10px;
    color:#7b8496;
    background:#fafbfc;
}
@media(max-width:980px){
    .ppb-categories-columns-4,
    .ppb-categories-columns-3{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:640px){
    .ppb-categories-page{width:min(100% - 24px,720px);margin-top:24px}
    .ppb-categories-columns-4,
    .ppb-categories-columns-3,
    .ppb-categories-columns-2{
        grid-template-columns:1fr;
    }
}

/* v1.3 - Formulario público dinámico */
.ppb-public-form-wrap{
    --ppb-light:#64c7f2;
    --ppb-blue:#1d70b7;
    --ppb-text:#000000;
    width:100%;
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--ppb-text);
}
.ppb-public-product-form{
    display:flex;
    flex-direction:column;
    gap:18px;
}
.ppb-public-form-head,
.ppb-public-form-section{
    padding:24px;
    background:#fff;
    border:1px solid rgba(29,112,183,.20);
    border-radius:12px;
    box-shadow:0 3px 14px rgba(29,112,183,.055);
}
.ppb-public-form-head{
    background:linear-gradient(135deg,rgba(100,199,242,.13),rgba(255,255,255,.98));
}
.ppb-public-form-head>span{
    display:block;
    margin-bottom:5px;
    color:var(--ppb-blue);
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
}
.ppb-public-form-head h2,
.ppb-public-form-section h3{
    margin:0;
    color:var(--ppb-blue);
    font-weight:700;
}
.ppb-public-form-head h2{font-size:28px}
.ppb-public-form-section h3{font-size:17px}
.ppb-public-form-head p{
    max-width:760px;
    margin:8px 0 0;
    color:#000;
    font-size:13px;
    line-height:1.55;
}
.ppb-public-section-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:16px;
}
.ppb-public-section-title>span{
    padding:5px 9px;
    border-radius:999px;
    background:rgba(100,199,242,.15);
    color:var(--ppb-blue);
    font-size:10px;
    font-weight:700;
}
.ppb-public-fields-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:15px;
    margin-top:16px;
}
.ppb-public-field{
    display:flex;
    flex-direction:column;
    gap:6px;
}
.ppb-public-field--wide{grid-column:1/-1}
.ppb-public-field>label{
    color:#000;
    font-size:12px;
    font-weight:700;
}
.ppb-public-field input[type=text],
.ppb-public-field input[type=email],
.ppb-public-field input[type=url],
.ppb-public-field input[type=number],
.ppb-public-field input[type=date],
.ppb-public-field input[type=file],
.ppb-public-field select,
.ppb-public-field textarea{
    width:100%;
    min-height:46px;
    padding:10px 12px;
    border:1px solid rgba(29,112,183,.28);
    border-radius:7px;
    background:#fff;
    color:#000;
    font:inherit;
    font-size:13px;
    box-shadow:none;
    outline:none;
}
.ppb-public-field textarea{min-height:120px;resize:vertical}
.ppb-public-field input:focus,
.ppb-public-field select:focus,
.ppb-public-field textarea:focus{
    border-color:var(--ppb-light);
    box-shadow:0 0 0 3px rgba(100,199,242,.16);
}
.ppb-public-field small{
    color:#60656c;
    font-size:10px;
    line-height:1.4;
}
.ppb-public-required{color:#d63638}
.ppb-public-check,
.ppb-public-privacy{
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-start;
    gap:8px;
}
.ppb-public-privacy{
    padding:14px 16px;
    border:1px solid rgba(29,112,183,.18);
    border-radius:8px;
    background:rgba(100,199,242,.06);
    color:#000;
    font-size:11px;
    line-height:1.45;
}
.ppb-public-submit{
    align-self:flex-start;
    min-height:46px;
    padding:0 22px;
    border:0;
    border-radius:7px;
    background:#1d70b7;
    color:#fff;
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}
.ppb-public-submit:hover{background:#145f9f}
.ppb-public-form-success,
.ppb-public-form-error{
    display:flex;
    flex-direction:column;
    gap:3px;
    margin-bottom:16px;
    padding:14px 16px;
    border-radius:8px;
    font-size:12px;
}
.ppb-public-form-success{
    border:1px solid rgba(29,112,183,.28);
    background:rgba(100,199,242,.12);
    color:#000;
}
.ppb-public-form-success strong{color:#1d70b7}
.ppb-public-form-error{
    border:1px solid #f0b5b5;
    background:#fff4f4;
    color:#8a2020;
}
@media(max-width:700px){
    .ppb-public-fields-grid{grid-template-columns:1fr}
    .ppb-public-field--wide{grid-column:auto}
    .ppb-public-form-head,.ppb-public-form-section{padding:18px}
    .ppb-public-form-head h2{font-size:23px}
    .ppb-public-section-title{align-items:flex-start;flex-direction:column}
}
