/** Example style sheet for freeseat application. You probably want to
adapt it to your needs 

 Copyright (C) 2006 Maxime Gamboni. See COPYING for copying/warranty
 info.

$Id: style.css 231 2007-01-13 13:29:41Z tendays $
*/


body {
    background: white;
  }

/*body.narrow { 
    background:  url(reservations/affiche.jpeg) no-repeat;
 } */

h1 {
    /* font-family : sans-serif; */
    font-family : verdana;
  }


h2 {
    color : #974608;
    /* font-family : sans-serif; */
    font-family : verdana;
    font-variant : small-caps;
    margin-left : 0.5em;
  }


a {
    color : #e02000;
    text-decoration : none;
  }


a:hover {
    color : darkviolet;
    text-decoration : underline;
  }

/*** PARAGRAPHS ***/
p {
    /* font-family : serif; */
    font-family : verdana;
    font-size : 0.8em;
    color: black;
  }

/* important pagewide (or almost) paragraph text, but in black and white */
p.bwemph {
    margin-left : 5em;
    margin-right : 5em;
    text-align : justify;
    font-weight : 900;
  }

p.disabled { 
   color : #888888;
 }

/* important pagewide (or almost) paragraph text */
p.emph {
    color : #974608;
    margin-left : 2em;
    margin-right : 5em;
    text-align : justify;
}

p.fine-print {
    font-size : 9pt;
}

input.fine-print {
    font-size : 5pt;
  }

/* pagewide (or almost) paragraphs */
p.main {
    margin-left : 2em;
    margin-right : 3em;
    text-align : justify;
  }

/* emph in a table */
p.temph { 
    font-size : 18pt;
    font-style: italic;
    color : black;
 }

p.spectacleinfo { 
    font-size : 18pt;
    margin-left : 4em;
    font-weight : bolder;
    font-style : oblique;
 }
 
p.ticketdate { 
    margin-left : 2em;
    font-weight : bolder;
    font-style : oblique;
 }

p.warning {
    color : red;
    font-variant : small-caps;
    text-align : center;
  }

div.bookid { 
    float: left;
    padding-right: 2em;
    padding-bottom: 3em;
}

@media print { 
  div.dontprint {
                  display : none;
                  }
}

/* a table that contains a form */
div.form {
/*    margin-left : 2em; */
    margin-right : 3em; 
 /*   border-bottom-style : dashed; */
/*    border-bottom-width : 1px; */
/*    border-left-style : dashed; */
/*    border-left-width : 1px; */
/*    border-right-style : dashed; */
/*    border-right-width : 1px; */
/*    border-top-style : dashed; */
/*    border-top-width : 1px; */
    padding-top: 1em;
    padding-bottom: 1em;
    padding-left: 1em;
    padding-right: 1em;
    background-color : #f0e0d0;
  }

/* a table that contains a form. Am using the float property to have
it take optimal width instead of full width */
div.form div.form {
    float: left;
/*    clear: left; */
    margin-left : 0em;
    margin-right : 1em;
    margin-top : 1em; 
    margin-bottom : 1em; 
    border-bottom-style : dashed; 
    border-bottom-width : 1px; 
    border-left-style : dashed; 
    border-left-width : 1px; 
    border-right-style : dashed; 
    border-right-width : 1px; 
    border-top-style : dashed; 
    border-top-width : 1px; 
    padding-top: 0em;
    padding-bottom: 1em;
    padding-left: 1em;
    padding-right: 1em;
    background-color : #fff0e0;
  }

div.form p {
   clear: left;
}

div.image-selection{
    float : right;
    margin-left: 1em;
}

div.narrow {
/*    background:  url(reservations/affiche.jpeg) no-repeat; */
    padding-left: 213px;
/*    float: right; */
}

div.ticket { 
border : 1px;
border-style : dashed;
margin-bottom : 1em;
padding-left : 1em;
padding-right : 1em;
page-break-inside : avoid;
}

div.lastTicketOnPage { 
border : 1px;
border-style : dashed;
margin-bottom : 1em;
padding-left : 1em;
padding-right : 1em;
page-break-after : always;
}

span.subpage {
  font-size:x-small;
  vertical-align:sub;
}

/* a table that contains a form */
table.form {
    margin-left : 2em;
    margin-right : 3em;
    border-bottom-style : dashed;
    border-bottom-width : 1px;
    border-left-style : dashed;
    border-left-width : 1px;
    border-right-style : dashed;
    border-right-width : 1px;
    border-top-style : dashed;
    border-top-width : 1px;
  }

table.bookinglist td
{ 
  font-size: smaller;
  }

td.form {
    padding-top : 1em;
    padding-bottom: 1em;
  }

td.bookid {
    font-size: 15pt;
    padding-right: 2em;
/*    font-style : oblique; */
    font-weight: 900;
 }

td.col {
    font-size: 20pt;
    font-style : oblique;
    font-weight: 900;
 }

td.row {
    font-size: 20pt;
    font-style : oblique;
    font-weight: 900;
 }

td.zoneextra {
    font-size: 20pt;
    font-style : oblique;
    font-weight: 900;
 }

td.cat {
    padding-left : 1em;
    padding-right : 1em;  
 }

th.ticket { 
    font-weight: normal;
 }

img.ticketsponsors { 
    max-height: 250px;
    max-width: 160px;
    float:right;
 }

img.clickable {
    border: 1px solid #021a40;
    color : #021a40;
}

/* if we put a p into each li then only the bullet will be coloured */
ul li {
     color:#99cce5;
}


/* "css popups" 

Source : http://www.meyerweb.com/eric/css/edge/popups/demo.html

*/

div.popupbox { 
   border : 1px;
   border-style : dashed;
   margin-bottom : 1em;
   padding-left : 1em;
   padding-right : 1em;
   position: absolute; top: 2px; left: 2px; width: 40em; height:8em;
   padding: 5px; margin: 10px; z-index: 100;
   background:  white;
   display: none;
 }

a.popup { 
    text-decoration : none;
    color : black;
 }

a.popup span { display: none; }

a.popup:hover span {
   display: block;
   position: fixed; top: 4px; left: 4px;
   padding: 5px; margin: 10px; z-index: 100;
   background:  white;
   text-align : left;
   border : 1px;
   border-style : dashed;
   margin-bottom : 1em;
   padding-left : 1em;
   padding-right : 1em;
 }

/* Table Modernization & High-Density Responsive Layout */
.table-responsive-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 1rem;
  touch-action: auto;
  overscroll-behavior: auto;
}

table.seat-map-table {
  min-width: 800px;
  border-collapse: separate !important; /* Required for sticky positioning */
  border-spacing: 0;
  border-top: 1px solid #e2e8f0;
  border-left: 1px solid #e2e8f0;
  table-layout: auto;
  margin: 0 auto;
}

table.seat-map-table td, 
table.seat-map-table th {
  border-bottom: 1px solid #e2e8f0;
  border-right: 1px solid #e2e8f0;
  padding: 2px 4px; /* High-density padding */
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap; /* Prevents vertical expansion */
}

/* Pinned First Column */
table.seat-map-table td:first-child, 
table.seat-map-table th:first-child {
  position: sticky;
  left: 0;
  z-index: 3;
  background-color: white; /* Opaque background prevents ghosting artifacts */
  border-right: 1px solid #cbd5e1 !important;
  font-weight: bold;
}

table.seat-map-table th {
  background-color: #f1f5f9;
  text-transform: uppercase;
  font-size: 0.75rem;
  color: #64748b;
}

