/* Component structure only. Widget Style controls own responsive dimensions,
   typography and colours; page layout is stored in native Elementor containers. */
.cppub-directory,.cppub-field{box-sizing:border-box;color:var(--cpp-ink,#181818)}
.cppub-directory *,.cppub-field *{box-sizing:border-box}
.cppub-directory [hidden]{display:none!important}
.cppub-toolbar{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--cpp-tool-gap,18px);border-block:1px solid var(--cpp-line,#dfe4e1);padding-block:var(--cpp-tool-padding,24px);margin-bottom:var(--cpp-tool-margin,36px)}
.cppub-search{flex:1 1 var(--cpp-search-basis,220px);min-width:0}
.cppub-search input{width:100%;min-width:0;min-height:46px;height:auto;margin:0;padding:13px 16px;border:1px solid var(--cpp-line,#dfe4e1);border-radius:var(--cpp-input-radius,12px);background:var(--cpp-search-bg,#f5f5f5);box-shadow:none;font:inherit;color:inherit}
/* Burido gives selects width:100% and form controls margin-bottom:26px.
   Reset those defaults locally; Elementor's responsive variables still own layout. */
.cppub-toolbar select{flex:var(--cpp-select-flex,0 1 auto);width:auto;min-width:0;max-width:100%;min-height:46px;height:auto;margin:0;padding:12px 32px 12px 13px;border:1px solid var(--cpp-line,#dfe4e1);border-radius:var(--cpp-input-radius,12px);background-color:var(--cpp-card-bg,#fff);background-image:none;appearance:auto;box-shadow:none;font:inherit;color:inherit}
.cppub-toolbar>.cppub-link{flex:0 0 auto;white-space:nowrap}
/* Burido's focus background is !important; keep the selected Elementor colour. */
.cppub-search input:is(:focus,:active){background-color:var(--cpp-search-bg,#f5f5f5)!important;border:1px solid var(--cpp-line,#dfe4e1);color:var(--cpp-ink,#181818)}
.cppub-toolbar select:is(:focus,:active){background-color:var(--cpp-card-bg,#fff)!important;border:1px solid var(--cpp-line,#dfe4e1);color:var(--cpp-ink,#181818)}
.cppub-search input::placeholder,.cppub-search input:is(:focus,:active)::placeholder{opacity:1;color:inherit}
.cppub-grid{display:grid;grid-template-columns:repeat(var(--cpp-cols,3),minmax(0,1fr));column-gap:var(--cpp-col-gap,28px);row-gap:var(--cpp-row-gap,38px)}
.cppub-card{min-width:0;background:var(--cpp-card-bg,#fff);border-radius:var(--cpp-card-radius,22px)}
.cppub-card>a{display:block;text-decoration:none;color:inherit;height:100%}
.cppub-cover{display:flex;align-items:center;justify-content:center;overflow:hidden;aspect-ratio:var(--cpp-ratio,1.25);padding:var(--cpp-cover-padding,25px);border-radius:var(--cpp-cover-radius,20px);background:var(--cpp-cover-bg,#f3f3ee)}
.cppub-cover img{display:block;height:100%;width:auto;max-width:var(--cpp-img-max,75%);object-fit:contain;box-shadow:4px 8px 15px #0002}
.cppub-placeholder{width:100%;height:100%;min-width:0;border:1px solid var(--cpp-placeholder-line,#bccac0);background:var(--cpp-placeholder-bg,#e4ebe4);padding:var(--cpp-placeholder-padding,20px);display:flex;flex-direction:column;justify-content:space-between;color:var(--cpp-placeholder-ink,#345247)}
.cppub-placeholder strong{display:block;max-height:var(--cpp-placeholder-height,150px);overflow:hidden;overflow-wrap:anywhere;font-weight:500}
.cppub-placeholder small{display:block;letter-spacing:.06em}
.cppub-copy{padding:var(--cpp-copy-padding,20px 2px)}
.cppub-card h3,.cppub-field h2,.cppub-field p{margin:0;color:inherit;overflow-wrap:anywhere}
.cppub-copy p{margin:7px 0 0}
.cppub-meta{margin-bottom:10px;text-transform:uppercase}
.cppub-count{margin:0 0 var(--cpp-count-margin,23px)}
.cppub-link{display:inline-flex;align-items:center;gap:var(--cpp-arrow-gap,18px);color:var(--cpp-link,#06635c);text-decoration:none;border-bottom:1px solid currentColor;padding:12px 0}
.cppub-link:hover{color:var(--cpp-link-hover,#034e48)}
.cppub-arrow{display:inline-block;flex:none;width:1em;height:1em;font-size:var(--cpp-arrow-size,24px)}
.cppub-field .cppub-button{border:1px solid var(--cpp-button-border,#06635c);border-radius:var(--cpp-button-radius,30px);padding:var(--cpp-button-padding,13px 23px);background:var(--cpp-button-bg,#06635c);color:var(--cpp-button-color,#fff);min-height:48px}
.cppub-field .cppub-button:hover{background:var(--cpp-button-hover,#034e48);color:var(--cpp-button-color,#fff)}
.cppub-facts{display:grid;grid-template-columns:var(--cpp-facts-label-width,100px) minmax(0,1fr);gap:var(--cpp-facts-gap,15px);border-top:1px solid var(--cpp-line,#dfe4e1);padding-top:25px;margin:0}
.cppub-facts dt{color:var(--cpp-muted,#5d6663)}
.cppub-facts dd{margin:0;overflow-wrap:anywhere}
.cppub-empty{grid-column:1/-1;padding:35px 0;text-align:center}
.cppub-empty button{cursor:pointer;border:1px solid var(--cpp-link,#06635c);border-radius:30px;padding:13px 23px;background:transparent;color:var(--cpp-link,#06635c)}
.cppub-directory :is(a,input,select,button):focus-visible,.cppub-field a:focus-visible{outline:3px solid #b48836;outline-offset:4px}
.cppub-next{display:block;color:inherit;text-decoration:none}
.cppub-next small{display:flex;align-items:center;gap:8px;letter-spacing:.07em;text-transform:uppercase}
.cppub-next strong{display:block;margin-top:10px;font-weight:500}
.cppub-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cppub-field h2,.cppub-field p,.cppub-field a{font:inherit}
.cppub-next-right .cppub-next{text-align:right}
.cppub-next-right .cppub-next small{justify-content:flex-end}
