.elementor-1584 .elementor-element.elementor-element-0254688:not(.elementor-motion-effects-element-type-background), .elementor-1584 .elementor-element.elementor-element-0254688 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EAEAEA00;}.elementor-1584 .elementor-element.elementor-element-0254688 > .elementor-background-overlay{background-color:#FFFFFF00;opacity:0.1;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-1584 .elementor-element.elementor-element-0254688 .elementor-background-overlay{filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 3.4px ) hue-rotate( 0deg );}.elementor-1584 .elementor-element.elementor-element-0254688{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:-15px;margin-bottom:-15px;padding:0px 0px 45px 0px;}.elementor-1584 .elementor-element.elementor-element-0254688 > .elementor-shape-top svg{width:calc(163% + 1.3px);height:0px;}.elementor-bc-flex-widget .elementor-1584 .elementor-element.elementor-element-2184a6f.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-1584 .elementor-element.elementor-element-2184a6f.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-1584 .elementor-element.elementor-element-2184a6f.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-1584 .elementor-element.elementor-element-2184a6f > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-1584 .elementor-element.elementor-element-5e46d19{--spacer-size:54px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1584 .elementor-element.elementor-element-e7dcd04{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:center;}.elementor-1584 .elementor-element.elementor-element-e7dcd04 .elementor-heading-title{font-family:"Noto Znamenny Musical Notation", Sans-serif;font-size:37px;font-weight:bold;line-height:0.1em;color:#214664;}.elementor-1584 .elementor-element.elementor-element-cca097c{--spacer-size:55px;}.elementor-1584 .elementor-element.elementor-element-a951073{--spacer-size:38px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1584 .elementor-element.elementor-element-2184a6f{width:100%;}}@media(max-width:767px){.elementor-1584 .elementor-element.elementor-element-0254688{padding:30px 0px 30px 0px;}.elementor-1584 .elementor-element.elementor-element-e7dcd04 .elementor-heading-title{font-size:27px;line-height:1.3em;}}/* Start custom CSS for html, class: .elementor-element-2976edc */:root { 
    --primary: #2d5a27; 
    --available: #4caf50; 
    --reserved: #e57373; 
    --download: #28a745;
}

body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: #FFFFFF; margin: 0; padding: 20px; text-align: center; }
h1 { color: var(--primary); }

/* Container de Botões Superiores */
.btn-group { display: flex; justify-content: center; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }

.btn-mapa, .btn-download { 
    color: white; padding: 12px 25px; border: none; border-radius: 8px; 
    cursor: pointer; font-size: 1rem; font-weight: bold; transition: 0.3s;
    text-decoration: none; display: inline-flex; align-items: center; gap: 8px;
}

.btn-mapa { background: #007bff; }
.btn-mapa:hover { background: #0056b3; }

.btn-download { background: var(--download); }
.btn-download:hover { background: #218838; }

.legend { margin-bottom: 20px; display: flex; justify-content: center; gap: 20px; }
.legend-item { display: flex; align-items: center; gap: 8px; font-weight: bold; }
.box { width: 20px; height: 20px; border-radius: 4px; }

.search-container { margin-bottom: 25px; }
.search-input { padding: 12px; width: 100%; max-width: 300px; border: 2px solid var(--primary); border-radius: 25px; outline: none; font-size: 1rem; text-align: center; }

.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 15px; max-width: 1000px; margin: 0 auto; }
.card { background: white; border: 1px solid #ddd; border-radius: 12px; padding: 15px; cursor: pointer; transition: 0.3s; box-shadow: 0 4px 6px rgba(0,0,0,0.05); }
.card.available { border-left: 8px solid var(--available); }
.card.reserved { border-left: 8px solid var(--reserved); cursor: not-allowed; opacity: 0.8; }
.code { display: block; font-size: 1.4rem; font-weight: bold; color: #333; }
.price { display: block; color: var(--primary); font-weight: bold; margin-top: 5px; }

#loadingContainer { display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 50px auto; gap: 15px; }
.spinner { width: 40px; height: 40px; border: 4px solid rgba(0, 0, 0, 0.1); border-left-color: var(--primary); border-radius: 50%; animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.modal { display: none; position: fixed; z-index: 2000; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.8); }
.modal-pdf-content { background: white; width: 95%; height: 90%; margin: 2% auto; border-radius: 10px; position: relative; overflow: hidden; }
.close-pdf { position: absolute; right: 20px; top: 10px; font-size: 30px; cursor: pointer; z-index: 2100; color: #333; font-weight: bold; }

.modal-reserva { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); }
.reserva-content { background: white; width: 90%; max-width: 400px; margin: 10% auto; padding: 25px; border-radius: 15px; text-align: left; }
input { width: 100%; padding: 10px; margin: 10px 0; border: 1px solid #ddd; border-radius: 5px; box-sizing: border-box; }/* End custom CSS */