.sapo,.sapo-document{
 --sapo-primary:var(--sapo-base-primary,#1C345B);--sapo-secondary:var(--sapo-base-secondary,#2E5697);--sapo-highlight:var(--sapo-base-highlight,#3867B5);--sapo-text:var(--sapo-base-text-color,#575756);--sapo-border:var(--sapo-base-border-color,#D9D9D9);--sapo-box:var(--sapo-base-box-color,#F0F4F9);--sapo-card:var(--sapo-base-card-color,#FFFFFF);--sapo-field:var(--sapo-base-field-color,#FFFFFF);--sapo-button-text:var(--sapo-base-button-text,#FFFFFF);
 --sapo-label-gap:var(--sapo-base-label-gap,10px);--sapo-form-gap:var(--sapo-base-form-gap,20px);--sapo-card-gap:var(--sapo-base-card-gap,24px);--sapo-radius:var(--sapo-base-radius,10px);--sapo-card-padding:var(--sapo-base-card-padding,24px);--sapo-image-height:var(--sapo-base-image-height,250px);
 color:var(--sapo-text);font-family:var(--sapo-base-font-family,Arial,sans-serif);font-size:var(--sapo-base-font-size,15px);line-height:1.6;
}
.sapo *,.sapo-document *{box-sizing:border-box}.sapo{max-width:1240px;margin:24px auto;padding:20px}.sapo h2{font-size:clamp(26px,3vw,38px);line-height:1.2;margin:8px 0 0;color:var(--sapo-primary)}.sapo h3{font-size:23px;line-height:1.3;margin:14px 0;color:var(--sapo-primary)}
.sapo .sapo-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--sapo-secondary)}.sapo-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}
.sapo .sapo-field{display:flex;flex-direction:column;gap:var(--sapo-label-gap);margin:0;padding:0;min-width:0;float:none;border:0;background:none;line-height:1.5}.sapo .sapo-field-label{display:block;position:static;float:none;margin:0;padding:0;font-size:14px;font-weight:600;color:var(--sapo-primary);line-height:1.5;overflow-wrap:anywhere}.sapo .sapo-optional{font-weight:400;font-size:.88em;color:var(--sapo-text)}
.sapo select,.sapo input:not([type=checkbox]):not([type=file]):not([type=hidden]),.sapo textarea{display:block;position:static;float:none;width:100%;max-width:100%;min-width:0;margin:0;background:var(--sapo-field);color:var(--sapo-text);border:1px solid var(--sapo-border);border-radius:var(--sapo-radius);padding:11px 13px;font:inherit;font-size:14px;line-height:1.5;min-height:46px;box-shadow:none;height:auto;appearance:auto}.sapo textarea{resize:vertical}.sapo input[type=hidden]{display:none}
.sapo button,.sapo .sapo-button,.sapo .sapo-upload-button,.sapo-document button{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--sapo-secondary);color:var(--sapo-button-text);border:1px solid transparent;border-radius:var(--sapo-radius);padding:12px 18px;margin:0;text-decoration:none;font:inherit;font-size:14px;font-weight:600;line-height:1.5;min-height:46px;cursor:pointer;box-shadow:none;white-space:normal;text-align:center;transition:background-color .15s,color .15s,border-color .15s}
.sapo button:hover,.sapo .sapo-button:hover,.sapo .sapo-upload-button:hover{background:var(--sapo-highlight);color:var(--sapo-button-text)}.sapo :focus-visible{outline:2px solid var(--sapo-highlight);outline-offset:3px}.sapo select:focus,.sapo input:focus,.sapo textarea:focus{border-color:var(--sapo-highlight)}
.sapo-filters{display:flex;align-items:end;gap:18px;padding:20px;background:var(--sapo-box);border:1px solid var(--sapo-border);border-radius:var(--sapo-radius);margin:0 0 26px;flex-wrap:wrap}.sapo-search{flex:1;min-width:180px!important}.sapo-filters select{min-width:140px}.sapo-items{display:grid;gap:var(--sapo-card-gap)}.sapo-cuadricula{grid-template-columns:repeat(var(--sapo-cols,var(--sapo-base-cols,3)),minmax(0,1fr))}
.sapo-card{overflow:hidden;border:1px solid var(--sapo-border);border-radius:var(--sapo-radius);background:var(--sapo-card);box-shadow:0 4px 18px #1C345B08;min-width:0}.sapo-gallery{position:relative;background:var(--sapo-box)}.sapo-slide[hidden]{display:none!important}.sapo-slide img{display:block;width:100%;height:var(--sapo-image-height);object-fit:contain}.sapo-gallery-nav{position:absolute;bottom:10px;left:10px;right:10px;display:flex;justify-content:space-between;align-items:center}.sapo .sapo-gallery-nav button{padding:4px 12px;font-size:23px;min-height:38px;background:var(--sapo-card);color:var(--sapo-primary);border:1px solid var(--sapo-border)}.sapo-photo-count{font-size:11px;background:var(--sapo-card);border-radius:20px;padding:3px 10px}.sapo-placeholder{height:var(--sapo-image-height);display:grid;place-content:center;color:var(--sapo-text)}
.sapo-card-body{padding:var(--sapo-card-padding);min-width:0}.sapo-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.sapo-code{font:11px ui-monospace,monospace;color:var(--sapo-text)}.sapo-badge{display:inline-block;background:var(--sapo-box);color:var(--sapo-secondary);padding:4px 10px;border-radius:20px;font-size:11px}.sapo-tags{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.sapo-tags span{font-size:12px;background:var(--sapo-box);color:var(--sapo-primary);border-radius:5px;padding:4px 9px;line-height:1.5}.sapo-description{color:var(--sapo-text);font-size:14px;overflow-wrap:anywhere}.sapo-description p{margin:12px 0}.sapo-price{font-size:23px;font-weight:700;margin:18px 0;color:var(--sapo-primary)}
.sapo-action{border-top:1px solid var(--sapo-border);margin-top:18px;padding-top:18px}.sapo-action>summary{font-weight:700;color:var(--sapo-secondary);cursor:pointer;min-height:40px;padding:4px 0;line-height:1.6;list-style-position:inside}.sapo-request{display:grid;gap:var(--sapo-form-gap);margin:20px 0 0;padding:0}.sapo aside,.sapo-document aside{padding:14px 16px;background:var(--sapo-box);border-left:3px solid var(--sapo-secondary);font-size:13px;line-height:1.65;margin:0;color:var(--sapo-text)}.sapo small{display:block;font-size:12px;line-height:1.6;color:var(--sapo-text)}
.sapo .sapo-upload-control{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:12px;border:0;background:none;padding:0;margin:0;box-shadow:none}.sapo .sapo-file-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.sapo-file-input:focus-visible+.sapo-upload-button{outline:2px solid var(--sapo-highlight);outline-offset:3px}.sapo .sapo-upload-button{width:auto;flex:none;max-width:100%}.sapo-file-names{font-size:12px;overflow-wrap:anywhere;min-width:0;line-height:1.6}.sapo .sapo-submit-button{width:100%;justify-self:stretch}
.sapo .sapo-consent{display:flex;gap:12px;align-items:flex-start;margin:0;padding:0;line-height:1.6;float:none}.sapo-consent input{width:18px;height:18px;margin:3px 0 0;flex:none;accent-color:var(--sapo-secondary)}.sapo-consent span{font-weight:400;font-size:13px;color:var(--sapo-text)}.sapo-form-error{color:#AC2626;margin:0;font-size:13px}.sapo-form-error:empty{display:none}.sapo button:disabled{opacity:.6;cursor:wait}
.sapo-lista,.sapo-detalle{grid-template-columns:1fr}.sapo-lista .sapo-card{display:grid;grid-template-columns:minmax(200px,30%) minmax(0,1fr)}.sapo-lista .sapo-card.sapo-no-gallery{grid-template-columns:1fr}.sapo-lista .sapo-gallery{height:100%;min-height:var(--sapo-image-height)}.sapo-detalle .sapo-card{max-width:900px;width:100%;margin:auto}.sapo-pagination{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:26px}.sapo-pagination .page-numbers{padding:7px 12px;border:1px solid var(--sapo-border);border-radius:7px;text-decoration:none;color:var(--sapo-secondary)}.sapo-pagination .current{background:var(--sapo-secondary);color:var(--sapo-button-text)}.sapo-empty{text-align:center;padding:60px 20px;background:var(--sapo-box);border-radius:var(--sapo-radius)}.sapo-history{display:grid;gap:18px;margin-top:24px}.sapo-history article{border:1px solid var(--sapo-border);border-radius:var(--sapo-radius);padding:22px}
.sapo-embed{margin:0;background:#FFFFFF}.sapo-document{background:var(--sapo-box);padding:32px 12px}.sapo-document main{max-width:800px;margin:auto;padding:44px;background:#FFFFFF;box-shadow:0 10px 50px #1C345B10}.sapo-document h2{font-size:25px;color:var(--sapo-primary)}.sapo-document p{margin:19px 0}.sapo-no-print{display:flex;gap:20px;align-items:center;margin-bottom:24px}.sapo-document small{color:var(--sapo-text)}.sapo-document img{max-width:100%}
@media(max-width:1024px){.sapo-cuadricula{grid-template-columns:repeat(var(--sapo-cols-tablet,var(--sapo-base-cols-tablet,2)),minmax(0,1fr))}}
@media(max-width:767px){.sapo{padding:12px}.sapo-toolbar{align-items:start;flex-direction:column}.sapo-cuadricula{grid-template-columns:repeat(var(--sapo-cols-mobile,var(--sapo-base-cols-mobile,1)),minmax(0,1fr))}.sapo-lista .sapo-card{display:block}.sapo-filters>.sapo-field,.sapo-filters>button{width:100%}.sapo-document main{padding:22px}.sapo-upload-control{align-items:flex-start}}
@media print{.sapo-document{background:#FFFFFF;padding:0}.sapo-document main{box-shadow:none;padding:0;max-width:none}.sapo-no-print{display:none!important}.sapo-document aside{border:1px solid #D9D9D9}.sapo-document p{break-inside:avoid}@page{size:A4;margin:18mm}}
/* 1.2: configurable media layout; all selectors stay scoped to the plugin. */
.sapo .sapo-card-body{text-align:var(--sapo-content-align,left)}
.sapo .sapo-slide img{width:var(--sapo-gallery-width,100%);max-width:100%;object-fit:var(--sapo-image-fit,contain)}
.sapo-image-align-center .sapo-slide img{margin-inline:auto}.sapo-image-align-left .sapo-slide img{margin-left:0;margin-right:auto}.sapo-image-align-right .sapo-slide img{margin-left:auto;margin-right:0}
.sapo-image-top .sapo-card,.sapo-image-bottom .sapo-card{display:flex;flex-direction:column}
.sapo-image-top .sapo-gallery{order:0}.sapo-image-top .sapo-card-body{order:1}
.sapo-image-bottom .sapo-gallery{order:1}.sapo-image-bottom .sapo-card-body{order:0}
.sapo-image-left .sapo-card,.sapo-image-right .sapo-card{display:grid;grid-template-columns:minmax(0,var(--sapo-side-width,35%)) minmax(0,1fr)}
.sapo-image-right .sapo-card{grid-template-columns:minmax(0,1fr) minmax(0,var(--sapo-side-width,35%))}.sapo-image-right .sapo-gallery{order:1}.sapo-image-right .sapo-card-body{order:0}
.sapo-image-middle .sapo-card,.sapo .sapo-card.sapo-no-gallery{display:block}
.sapo-image-middle .sapo-gallery{margin-block:18px}.sapo .sapo-gallery{min-width:0}
.sapo-document{font-size:var(--sapo-doc-font,14px)}.sapo-document main{padding:var(--sapo-doc-padding,36px)}
.sapo-document .sapo-doc-photo{margin:20px 0;break-inside:avoid}.sapo-doc-photo img{height:auto;max-width:100%;object-fit:contain;display:inline-block}.sapo-doc-photo figcaption{font-size:12px;margin-top:8px}
.sapo-document .sapo-doc-notice{background:var(--sapo-doc-notice-bg,#F0F4F9);color:var(--sapo-doc-notice-text,#575756);border:1px solid var(--sapo-doc-notice-border,#D9D9D9);padding:16px 18px;font-size:var(--sapo-doc-notice-size,13px);margin:24px 0 0;break-inside:avoid}
.sapo-doc-footer{border-top:1px solid var(--sapo-border);padding-top:14px;margin-top:24px;font-size:var(--sapo-doc-footer-size,11px);line-height:1.5;overflow-wrap:anywhere}
.sapo-doc-layout{display:grid;grid-template-columns:minmax(0,var(--sapo-doc-photo-width,220px)) minmax(0,1fr);gap:24px;align-items:start}.sapo-doc-layout>.sapo-doc-photo{margin:0}.sapo-doc-main,.sapo-doc-template{min-width:0;overflow-wrap:anywhere}
.sapo-doc-photo-right{grid-template-columns:minmax(0,1fr) minmax(0,var(--sapo-doc-photo-width,220px))}.sapo-doc-photo-right>.sapo-doc-photo{order:1}
.sapo-doc-template table{max-width:100%;border-collapse:collapse}.sapo-doc-template img{height:auto;max-width:100%}.sapo-doc-template td,.sapo-doc-template th{overflow-wrap:anywhere}.sapo-doc-template tr{break-inside:avoid}
@media(max-width:767px){.sapo-image-left .sapo-card,.sapo-image-right .sapo-card,.sapo-image-auto .sapo-lista .sapo-card{display:flex;flex-direction:column}.sapo-mobile-top .sapo-card>.sapo-gallery{order:0}.sapo-mobile-top .sapo-card>.sapo-card-body{order:1}.sapo-mobile-bottom .sapo-card>.sapo-gallery{order:1}.sapo-mobile-bottom .sapo-card>.sapo-card-body{order:0}.sapo-doc-layout{display:flex;flex-direction:column}.sapo-doc-photo-right>.sapo-doc-photo{order:0}.sapo-doc-layout>.sapo-doc-photo{width:100%}.sapo-no-print{flex-wrap:wrap}}
@media print{.sapo-document main{padding:0}.sapo-doc-layout{display:grid}.sapo-doc-photo-right>.sapo-doc-photo{order:1}.sapo-doc-footer{break-inside:avoid}.sapo-document .sapo-doc-notice{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
