/* OcCre · Reclamaciones | Capa visual, no altera los procesos PHP. */
:root{--oc-ink:#181818;--oc-subtle:#646464;--oc-line:#e8e8e8;--oc-paper:#fff;--oc-bg:#f6f6f4;--oc-radius:12px}
html{scroll-behavior:smooth}*{box-sizing:border-box}
body{font-family:Montserrat,Arial,sans-serif!important;background:var(--oc-bg)!important;color:var(--oc-ink)!important;margin:0}
a{transition:color .2s ease,background .2s ease,border-color .2s ease}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #999!important;outline-offset:2px}
#logo{float:none!important;padding:0!important;display:flex;align-items:center;flex:0 0 auto}
#logo img{width:150px;max-width:100%;height:auto;object-fit:contain}
body>div[style*="padding-top:10px"]{position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:98px;padding:14px max(24px,calc((100vw - 1180px)/2))!important;background:#fff;border-bottom:1px solid var(--oc-line)}
#langselect{float:none!important;position:static!important;padding:0!important;display:flex!important;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
#langselect a:not(.occre-home-link){display:inline-flex;align-items:center;justify-content:center;min-width:26px;min-height:28px;border-radius:4px;padding:3px;background:transparent}
#langselect a:not(.occre-home-link):hover{background:#efefef}
#langselect .flag-icon{width:20px;height:15px;vertical-align:middle}
#langselect br{display:none}
#langselect>a.occre-home-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--oc-ink);padding:8px 17px;color:var(--oc-ink);text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.06em;border-radius:4px;white-space:nowrap;margin-left:10px}
#langselect>a.occre-home-link:hover{background:var(--oc-ink);color:#fff}
/* Portada */
.presentacion{height:clamp(330px,39vw,530px);overflow:hidden;background:#161616;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px 20px}
.presentacion:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.32));z-index:1}
.presentacion .imagen_portada{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none;opacity:.82}
.presentacion .texto_centrado_titulo,.presentacion .texto_centrado_info{position:relative;top:auto;left:auto;transform:none;z-index:2;max-width:950px;width:auto;font-family:Montserrat,Arial,sans-serif;color:#fff}
.presentacion .texto_centrado_titulo{font-size:clamp(30px,4.2vw,58px);line-height:1.12;letter-spacing:-.035em;font-weight:800;margin-bottom:20px}
.presentacion .texto_centrado_info{font-size:clamp(15px,1.5vw,21px);line-height:1.6;color:#e5e5e5;font-weight:400}
.botones{max-width:680px!important;padding:0 18px;margin:15px auto!important;display:flex;justify-content:center}
.botones .button-28,.botones .button-28-2{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:64px!important;border-radius:5px!important;border:1px solid var(--oc-ink)!important;font-size:15px!important;font-weight:700!important;text-decoration:none!important;letter-spacing:.015em;padding:18px 24px!important;box-shadow:none!important;transform:none!important;transition:background .2s,color .2s!important}
.botones .button-28-2{color:#fff!important;background:var(--oc-ink)!important}
.botones .button-28{color:var(--oc-ink)!important;background:#fff!important}
.botones .button-28-2:hover{background:#444!important;color:#fff!important}
.botones .button-28:hover{background:#ededed!important;color:var(--oc-ink)!important}
/* Tarjetas de enlaces conservando su contenido y enlaces */
.container{max-width:1180px!important}
.image-container{display:block!important;width:100%;overflow:hidden;background:#151515;box-shadow:none!important;border-radius:8px;transform:none!important;transition:transform .2s,box-shadow .2s!important}
.image-container:hover{transform:translateY(-3px)!important;box-shadow:0 15px 32px rgba(0,0,0,.12)!important}
.image-container>img{width:100%;height:260px;object-fit:cover;filter:brightness(.7)}
.image-container .overlay-text{bottom:0!important;top:auto!important;left:0!important;transform:none!important;width:100%;background:linear-gradient(transparent,rgba(0,0,0,.85))!important;padding:50px 22px 21px!important;color:#fff;font-size:15px!important;line-height:1.5;text-align:left!important}
.image-container .overlay-text b{font-size:20px;line-height:1.3}
.image-container .overlay-text br{display:none}
.row>div{margin-bottom:26px!important}
.panel-footer{padding:28px 18px!important;border-top:1px solid var(--oc-line)!important;background:#fff!important;color:#777!important;font-size:12px!important;line-height:1.7}
/* Formularios y consulta */
#FormularioPiezas{max-width:1130px;margin:28px auto 70px;padding:0 16px}
#FormularioPiezas .panel-group,#FormularioPiezas .panel{border-radius:10px!important;box-shadow:none!important;border-color:#e5e5e5!important}
#FormularioPiezas .panel-group{background:white;padding:12px}
#FormularioPiezas .panel-body{padding:22px!important}
#headingform1{background:#181818!important;color:#fff!important;border-radius:7px 7px 0 0!important;padding:16px 22px!important}
#headingform1 h3{color:#fff!important;font-weight:700!important;font-size:clamp(20px,2vw,27px)!important;margin:0!important}
#headingform2{background:#f0f0ef!important;color:#222!important;border-radius:6px!important;padding:12px 16px!important;border:0!important}
#headingform2 h4{color:#222!important;font-size:17px!important;font-weight:700!important;margin:0!important}
#FormularioPiezas input:not([type=checkbox]):not([type=radio]):not([type=hidden]),#FormularioPiezas textarea,#FormularioPiezas select{border:1px solid #d6d6d6;border-radius:5px;min-height:39px;background-color:#fff;color:#222;max-width:100%}
#FormularioPiezas textarea{min-height:85px}
#FormularioPiezas input:focus,#FormularioPiezas textarea:focus,#FormularioPiezas select:focus{border-color:#343434!important;box-shadow:0 0 0 3px rgba(0,0,0,.08)!important}
#FormularioPiezas .btn-primary,#FormularioPiezas .btn-success,#FormularioPiezas button[type=submit],#FormularioPiezas input[type=submit]{background:#202020!important;border-color:#202020!important;color:white!important;border-radius:5px!important}
#FormularioPiezas .btn-primary:hover,#FormularioPiezas .btn-success:hover,#FormularioPiezas button[type=submit]:hover{background:#484848!important}
#FormularioPiezas .btn-info{background:#ededed!important;border-color:#d5d5d5!important;color:#222!important}
#FormularioPiezas .table{width:100%}
@media(max-width:750px){body>div[style*="padding-top:10px"]{padding:15px!important;align-items:flex-start;flex-direction:column;gap:10px}#logo img{width:125px}#langselect{justify-content:flex-start;gap:5px}#langselect>a.occre-home-link{margin-left:5px}.presentacion{height:355px}.presentacion .texto_centrado_titulo{font-size:30px!important}.presentacion .texto_centrado_info{font-size:15px!important}.botones{margin:12px auto!important}.image-container>img{height:215px}#FormularioPiezas{margin:16px auto 45px;padding:0 10px}#FormularioPiezas .panel-body{padding:13px!important}#headingform1{padding:16px!important}.panel-footer{font-size:11px!important}#FormularioPiezas .table-responsive{overflow-x:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* v1.1: formulario fuera de la cabecera y filas independientes de Bootstrap. */
#FormularioPiezas{display:block;width:calc(100% - 40px);max-width:1180px;margin:32px auto 70px;padding:0}
#FormularioPiezas .panel-group{padding:0;overflow:hidden}
#FormularioPiezas .panel,#FormularioPiezas .panel-body{min-width:0}
#FormularioPiezas .panel-body{padding:24px!important}
#FormularioPiezas .form-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:18px;row-gap:8px;margin:18px 0 8px!important;clear:both}
#FormularioPiezas .form-row:before,#FormularioPiezas .form-row:after{display:none!important}
#FormularioPiezas .form-row>.form-group{float:none!important;width:auto!important;min-width:0;margin:0 0 12px;padding:0!important;grid-column:span 3}
#FormularioPiezas .form-row>.col-md-1{grid-column:span 2}
#FormularioPiezas .form-row>.col-md-2{grid-column:span 2}
#FormularioPiezas .form-row>.col-md-3{grid-column:span 3}
#FormularioPiezas .form-row>.col-md-4{grid-column:span 4}
#FormularioPiezas .form-row>.col-md-6{grid-column:span 6}
#FormularioPiezas .form-row>.form-group>label{display:block;margin-bottom:8px;font-size:13px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
#FormularioPiezas .form-row .form-control,#FormularioPiezas .form-row .bootstrap-select,#FormularioPiezas .form-row .bootstrap-select>.dropdown-toggle{width:100%!important;max-width:100%;min-width:0}
#FormularioPiezas .form-row input.form-control,#FormularioPiezas .form-row select.form-control{height:42px}
#FormularioPiezas .form-row .bootstrap-select>.dropdown-toggle{height:42px;overflow:hidden;text-overflow:ellipsis}
#FormularioPiezas .form-row .bootstrap-select .filter-option{overflow:hidden;text-overflow:ellipsis}
#FormularioPiezas #addRow{margin-top:29px!important;min-height:42px;padding:7px 12px;white-space:normal}
#FormularioPiezas .aviso-legal{font-size:14px;line-height:1.5;padding:18px}
#FormularioPiezas .aviso-legal label{font-weight:400;font-size:14px}
#FormularioPiezas .aviso-legal #botoenviar{max-width:440px;margin:20px auto 0}
#FormularioPiezas #ReclamacionDetalle{min-width:560px}
#FormularioPiezas #ReclamacionDetalle{display:table}
#FormularioPiezas #ReclamacionDetalle{margin-top:20px}
@media(max-width:1000px){#FormularioPiezas .form-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px 16px}#FormularioPiezas .form-row>.col-md-1,#FormularioPiezas .form-row>.col-md-2{grid-column:span 2}#FormularioPiezas .form-row>.col-md-3,#FormularioPiezas .form-row>.col-md-4{grid-column:span 3}#FormularioPiezas .form-row>.col-md-6{grid-column:span 6}}
@media(max-width:640px){#FormularioPiezas{width:calc(100% - 20px);margin:18px auto 45px}#FormularioPiezas .panel-body{padding:14px!important}#FormularioPiezas .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}#FormularioPiezas .form-row>.form-group,#FormularioPiezas .form-row>.col-md-1,#FormularioPiezas .form-row>.col-md-2,#FormularioPiezas .form-row>.col-md-3,#FormularioPiezas .form-row>.col-md-4,#FormularioPiezas .form-row>.col-md-6{grid-column:span 2}#FormularioPiezas .form-row>.form-group:has(#CodigoPostal),#FormularioPiezas .form-row>.form-group:has(#Provincia),#FormularioPiezas .form-row>.form-group:has(#Cantidad),#FormularioPiezas .form-row>.form-group:has(#MotivoID){grid-column:span 1}#FormularioPiezas #ReclamacionDetalle{display:block;overflow-x:auto;max-width:100%}#FormularioPiezas #addRow{margin-top:0!important}}

/* Upload de factura: selección convencional y arrastrar y soltar */
.occre-dropzone { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; min-height:148px; padding:22px 18px; border:2px dashed #a5a5a5; border-radius:10px; background:#fafafa; color:#272727; text-align:center; transition:background .15s,border-color .15s; overflow:hidden; }
.occre-dropzone:hover, .occre-dropzone.is-dragover, .occre-dropzone:focus-within { background:#eeeeee; border-color:#171717; }
.occre-dropzone.has-file { border-style:solid; background:#f4f4f4; }
.occre-dropzone-icon { font-size:32px; line-height:1; pointer-events:none; }
.occre-dropzone-prompt { font-size:14px; font-weight:600; pointer-events:none; }
.occre-dropzone-hint { color:#666; font-size:12px; pointer-events:none; }
.occre-dropzone-filename { font-size:13px; font-weight:600; overflow-wrap:anywhere; pointer-events:none; }
.occre-dropzone input[type=file] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; font-size:0; }
@media(max-width:767px) { .occre-dropzone { min-height:135px; } }

/* v1.3 - Formulario amplio; datos personales en dos filas. */
#FormularioPiezas {max-width:1480px; width:calc(100% - 48px); margin:32px auto 70px;}
#FormularioPiezas .occre-personal-row {display:grid; column-gap:20px; row-gap:12px;}
#FormularioPiezas .occre-personal-row-primary {grid-template-columns:repeat(4,minmax(0,1fr));}
#FormularioPiezas .occre-personal-row-address {grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,1.2fr) minmax(0,1.3fr);}
#FormularioPiezas .occre-personal-row > .form-group {grid-column:auto!important; min-width:0; width:auto!important;}
#FormularioPiezas .occre-attachments-row > .form-group {min-width:0;}
#FormularioPiezas .occre-attachments-row .occre-dropzone,
#FormularioPiezas .occre-attachments-row #Observaciones {width:100%!important; height:150px!important; min-height:150px!important; box-sizing:border-box;}
#FormularioPiezas .occre-attachments-row #Observaciones {resize:vertical;}
@media (max-width:1050px) {
 #FormularioPiezas .occre-personal-row-primary {grid-template-columns:repeat(2,minmax(0,1fr));}
 #FormularioPiezas .occre-personal-row-address {grid-template-columns:repeat(6,minmax(0,1fr));}
 #FormularioPiezas .occre-personal-row-address > .form-group {grid-column:span 2!important;}
 #FormularioPiezas .occre-personal-row-address > .form-group:first-child {grid-column:span 4!important;}
}
@media (max-width:640px) {
 #FormularioPiezas {width:calc(100% - 20px);}
 #FormularioPiezas .occre-personal-row-primary,
 #FormularioPiezas .occre-personal-row-address {grid-template-columns:minmax(0,1fr);}
 #FormularioPiezas .occre-personal-row > .form-group,
 #FormularioPiezas .occre-personal-row-address > .form-group,
 #FormularioPiezas .occre-personal-row-address > .form-group:first-child {grid-column:1 / -1!important;}
 #FormularioPiezas .occre-attachments-row .occre-dropzone,
 #FormularioPiezas .occre-attachments-row #Observaciones {height:150px!important; min-height:150px!important;}
}

/* v1.4: alinear los selectores y el botón de validación de piezas. */
#FormularioPiezas .occre-pieces-row {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1.4fr) minmax(0,0.9fr) minmax(0,0.9fr) minmax(150px,1fr);
  align-items:end;
  gap:18px;
  padding:0 16px;
  margin:18px 0 16px!important;
}
#FormularioPiezas .occre-pieces-row > .form-group {
  grid-column:auto!important; margin:0!important; min-width:0;
}
#FormularioPiezas .occre-pieces-row #addRow {
  margin:0!important; min-height:42px; width:100%;
}
/* Dar más presencia y una zona de clic cómoda al consentimiento. */
#FormularioPiezas .aviso-legal {font-size:18px; padding:22px 18px;}
#FormularioPiezas .aviso-legal #acceptlegal {
  width:23px!important; height:23px!important; min-width:23px;
  margin:0 12px 0 0!important; vertical-align:middle;
  accent-color:#202020; cursor:pointer;
}
#FormularioPiezas .aviso-legal #leido {
  display:inline; font-size:18px!important; font-weight:500!important;
  line-height:1.5; vertical-align:middle; cursor:pointer;
}
@media(max-width:1050px) {
 #FormularioPiezas .occre-pieces-row {grid-template-columns:repeat(2,minmax(0,1fr));}
 #FormularioPiezas .occre-pieces-row .occre-piece-action {grid-column:1 / -1!important;}
 #FormularioPiezas .occre-pieces-row #addRow {width:auto; min-width:180px;}
}
@media(max-width:640px) {
 #FormularioPiezas .occre-pieces-row {grid-template-columns:minmax(0,1fr); gap:12px; padding:0 8px;}
 #FormularioPiezas .occre-pieces-row > .form-group,
 #FormularioPiezas .occre-pieces-row .occre-piece-action {grid-column:1 / -1!important;}
 #FormularioPiezas .occre-pieces-row #addRow {width:100%;}
}

/* v1.4 - cabecera comun: logo al borde izquierdo e idiomas + HOME al derecho */
.occre-global-header {
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  flex-direction:row !important; gap:20px !important;
  width:100% !important; max-width:none !important; min-height:100px !important;
  margin:0 !important; padding:12px 20px !important;
  background:#fff !important; border-bottom:1px solid #e8e8e8 !important;
}
.occre-global-header #logo {float:none !important;position:static !important;flex:0 0 auto !important;margin:0 !important;padding:0 !important;display:flex !important;align-items:center !important;}
.occre-global-header #logo img {display:block !important;width:150px !important;max-width:100% !important;height:auto !important;}
.occre-global-header #langselect {float:none !important; position:static !important; margin:0 0 0 auto !important;padding:0 !important;
  flex:0 1 auto !important;display:flex !important;align-items:center !important;justify-content:flex-end !important;
  flex-wrap:wrap !important;gap:8px !important;line-height:1 !important;text-align:right !important;}
.occre-global-header #langselect br {display:none !important;}
.occre-global-header #langselect .occre-home-link {margin:0 0 0 8px !important;align-self:center !important;}
@media(max-width:640px){
  .occre-global-header{padding:12px 14px !important;gap:12px !important;flex-wrap:wrap !important;}
  .occre-global-header #logo img{width:125px !important;}
  .occre-global-header #langselect{justify-content:flex-end !important;margin-left:auto !important;}
}

/* v1.5 - bordes del encabezado alineados con los del formulario (ancho 1480px). */
/* La franja blanca ocupa toda la pantalla; sus elementos respetan el ancho del formulario. */
.occre-global-header {
  padding-left: max(24px, calc((100% - 1480px) / 2)) !important;
  padding-right: max(24px, calc((100% - 1480px) / 2)) !important;
}
@media (max-width:640px) {
  .occre-global-header {
    padding-left:10px !important;
    padding-right:10px !important;
  }
}

/* v1.6 - Separación de datos personales y altura de factura/observaciones */
#FormularioPiezas .occre-personal-row-primary {
  margin-top: 6px !important;
}
#FormularioPiezas .occre-attachments-row .occre-dropzone,
#FormularioPiezas .occre-attachments-row #Observaciones {
  height: 112px !important;
  min-height: 112px !important;
}
@media (max-width:640px) {
  #FormularioPiezas .occre-personal-row-primary { margin-top:6px !important; }
  #FormularioPiezas .occre-attachments-row .occre-dropzone,
  #FormularioPiezas .occre-attachments-row #Observaciones {
    height: 112px !important;
    min-height: 112px !important;
  }
}

/* v1.9: desplegables Artículo/Pieza siempre hacia abajo, en el body
   para evitar recortes y saltos al salir del viewport del formulario. */
body > .bootstrap-select.dropdown,
body > .bootstrap-select.dropup { z-index: 1100; }
body > .bootstrap-select .dropdown-menu { z-index: 1101; max-height: min(50vh, 380px) !important; overflow-y: auto; }
body > .bootstrap-select .dropdown-menu.inner { max-height: min(45vh, 340px) !important; overflow-y: auto !important; }
