.elementor-23 .elementor-element.elementor-element-2dae29:not(.elementor-motion-effects-element-type-background), .elementor-23 .elementor-element.elementor-element-2dae29 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://studiozg.ca/wp-content/uploads/2021/03/zg-salle-vide-yoga-738540jpg_48361348342_o.jpg");background-position:10% -74%;background-size:cover;}.elementor-23 .elementor-element.elementor-element-2dae29 > .elementor-background-overlay{background-color:var( --e-global-color-eaf1b01 );opacity:0.35;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-23 .elementor-element.elementor-element-2dae29{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:-70px;margin-bottom:0px;padding:120px 0px 50px 0px;}.elementor-widget-theme-page-title .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-23 .elementor-element.elementor-element-665dc6a7 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-23 .elementor-element.elementor-element-665dc6a7{text-align:start;}.elementor-23 .elementor-element.elementor-element-665dc6a7 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:50px;font-weight:800;text-shadow:0px 0px 10px #000000;color:var( --e-global-color-eaf1b01 );}.elementor-23 .elementor-element.elementor-element-a7b31e6:not(.elementor-motion-effects-element-type-background), .elementor-23 .elementor-element.elementor-element-a7b31e6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-c46fb1e ) 0%, var( --e-global-color-941cb62 ) 100%);}.elementor-23 .elementor-element.elementor-element-a7b31e6 > .elementor-background-overlay{opacity:0.5;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-23 .elementor-element.elementor-element-a7b31e6{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-bc-flex-widget .elementor-23 .elementor-element.elementor-element-cb73611.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-23 .elementor-element.elementor-element-cb73611.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.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-23 .elementor-element.elementor-element-e0f8556{text-align:center;}.elementor-23 .elementor-element.elementor-element-e0f8556 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:600;color:var( --e-global-color-eaf1b01 );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-23 .elementor-element.elementor-element-fdaed3d .elementor-button{background-color:#1B385200;font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:300;text-transform:uppercase;letter-spacing:2px;fill:var( --e-global-color-eaf1b01 );color:var( --e-global-color-eaf1b01 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-eaf1b01 );border-radius:10px 10px 10px 10px;}.elementor-23 .elementor-element.elementor-element-fdaed3d .elementor-button:hover, .elementor-23 .elementor-element.elementor-element-fdaed3d .elementor-button:focus{background-color:var( --e-global-color-eaf1b01 );color:var( --e-global-color-c46fb1e );}.elementor-23 .elementor-element.elementor-element-fdaed3d .elementor-button:hover svg, .elementor-23 .elementor-element.elementor-element-fdaed3d .elementor-button:focus svg{fill:var( --e-global-color-c46fb1e );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-23 .elementor-element.elementor-element-9146b72{font-family:"Montserrat", Sans-serif;font-weight:400;color:var( --e-global-color-eaf1b01 );}.elementor-23 .elementor-element.elementor-element-c07cc83{font-family:"Montserrat", Sans-serif;font-weight:400;color:var( --e-global-color-eaf1b01 );}.elementor-23 .elementor-element.elementor-element-287e97c{text-align:start;}.elementor-23 .elementor-element.elementor-element-287e97c .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:600;}.elementor-23 .elementor-element.elementor-element-b3bbc13{font-family:"Montserrat", Sans-serif;font-weight:400;color:var( --e-global-color-secondary );}.elementor-bc-flex-widget .elementor-23 .elementor-element.elementor-element-27e229d.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-23 .elementor-element.elementor-element-27e229d.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-23 .elementor-element.elementor-element-bab40b1 img{border-radius:10px 10px 10px 10px;}.elementor-23 .elementor-element.elementor-element-e2fde74:not(.elementor-motion-effects-element-type-background), .elementor-23 .elementor-element.elementor-element-e2fde74 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-c46fb1e ) 0%, var( --e-global-color-941cb62 ) 100%);}.elementor-23 .elementor-element.elementor-element-e2fde74 > .elementor-background-overlay{opacity:0.5;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-23 .elementor-element.elementor-element-e2fde74{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-bc-flex-widget .elementor-23 .elementor-element.elementor-element-d6865b8.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-23 .elementor-element.elementor-element-d6865b8.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-23 .elementor-element.elementor-element-409d08e{text-align:center;}.elementor-23 .elementor-element.elementor-element-409d08e .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:600;color:var( --e-global-color-eaf1b01 );}.elementor-23 .elementor-element.elementor-element-742fe9c .elementor-button{background-color:#1B385200;font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:300;text-transform:uppercase;letter-spacing:2px;fill:var( --e-global-color-eaf1b01 );color:var( --e-global-color-eaf1b01 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-eaf1b01 );border-radius:10px 10px 10px 10px;}.elementor-23 .elementor-element.elementor-element-742fe9c .elementor-button:hover, .elementor-23 .elementor-element.elementor-element-742fe9c .elementor-button:focus{background-color:var( --e-global-color-eaf1b01 );color:var( --e-global-color-c46fb1e );}.elementor-23 .elementor-element.elementor-element-742fe9c .elementor-button:hover svg, .elementor-23 .elementor-element.elementor-element-742fe9c .elementor-button:focus svg{fill:var( --e-global-color-c46fb1e );}.elementor-23 .elementor-element.elementor-element-074d413{font-family:"Montserrat", Sans-serif;font-weight:400;color:var( --e-global-color-eaf1b01 );}@media(min-width:768px){.elementor-23 .elementor-element.elementor-element-d441e2d{width:65.702%;}.elementor-23 .elementor-element.elementor-element-27e229d{width:34.212%;}}@media(max-width:1024px){.elementor-23 .elementor-element.elementor-element-2dae29:not(.elementor-motion-effects-element-type-background), .elementor-23 .elementor-element.elementor-element-2dae29 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:0px 0px;background-size:cover;}.elementor-23 .elementor-element.elementor-element-665dc6a7 > .elementor-widget-container{margin:0px 0px 0px 40px;}.elementor-23 .elementor-element.elementor-element-b3bbc13{font-size:15px;}}@media(max-width:767px){.elementor-23 .elementor-element.elementor-element-2dae29:not(.elementor-motion-effects-element-type-background), .elementor-23 .elementor-element.elementor-element-2dae29 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;}.elementor-23 .elementor-element.elementor-element-665dc6a7 > .elementor-widget-container{margin:0px 0px 0px 20px;}.elementor-23 .elementor-element.elementor-element-665dc6a7 .elementor-heading-title{font-size:30px;}.elementor-23 .elementor-element.elementor-element-a7b31e6{padding:70px 0px 70px 0px;}.elementor-23 .elementor-element.elementor-element-e0f8556 .elementor-heading-title{font-size:25px;}.elementor-23 .elementor-element.elementor-element-bdb87e6 > .elementor-element-populated{margin:30px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 30px 0px 30px;}.elementor-23 .elementor-element.elementor-element-9146b72{font-size:14px;}.elementor-23 .elementor-element.elementor-element-c07cc83{font-size:14px;}.elementor-23 .elementor-element.elementor-element-d441e2d > .elementor-element-populated{padding:0px 30px 0px 30px;}.elementor-23 .elementor-element.elementor-element-287e97c .elementor-heading-title{font-size:25px;}.elementor-23 .elementor-element.elementor-element-b3bbc13{font-size:14px;}.elementor-23 .elementor-element.elementor-element-27e229d > .elementor-element-populated{padding:0px 30px 0px 30px;}.elementor-23 .elementor-element.elementor-element-e2fde74{padding:70px 0px 70px 0px;}.elementor-23 .elementor-element.elementor-element-409d08e .elementor-heading-title{font-size:25px;}.elementor-23 .elementor-element.elementor-element-eac303b > .elementor-element-populated{margin:30px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 30px 0px 30px;}.elementor-23 .elementor-element.elementor-element-074d413{font-size:14px;}}/* Start custom CSS for html, class: .elementor-element-b45fc32 */*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --bg:        #f0f0f0;
      --surface:   #ffffff;
      --line:      #e0e0e0;
      --teal:      #4ab8c1;
      --teal-dark: #3a9aa3;
      --teal-soft: #edf8f9;
      --text:      #1a1a1a;
      --muted:     #999;
      --today-bg:  #edf8f9;
      --today-hd:  #3a9aa3;
    }

    .elementor-23 .elementor-element.elementor-element-b45fc32 {
      font-family: 'Raleway', sans-serif;
      /* background: var(--bg); */
      color: var(--text);
      /* min-height: 100vh; */
      padding: 3rem 1.5rem 5rem;
    }

    .wrap { max-width: 1100px; margin: 0 auto; }

    /* ── Grid ── */
    .grid-wrapper {
      background: var(--surface);
      border-radius: 10px;
      border: 1px solid var(--line);
      overflow: hidden;
    }

    .calendar-grid {
      display: grid;
      grid-template-columns: 52px repeat(7, 1fr);
    }

    /* Column headers */
    .col-spacer { background: var(--surface); border-bottom: 1px solid var(--line); }
    .col-header {
      text-align: center;
      padding: 0.9rem 0.4rem 0.8rem;
      border-bottom: 1px solid var(--line);
      border-left: 1px solid var(--line);
      background: var(--surface);
    }
    .col-header.is-today { background: var(--today-bg); }
    .col-header .day-name {
      font-size: 1.066rem; font-weight: 600;
      letter-spacing: 0.14em; text-transform: uppercase;
      color: var(--muted); margin-bottom: 0.3rem;
    }
    .col-header.is-today .day-name { color: var(--today-hd); }

    /* Time rows */
    .time-label {
      font-size: 1.04rem; font-weight: 500;
      color: var(--muted); letter-spacing: 0.04em;
      text-align: right; padding: 0 8px 0 4px;
      line-height: 1;
      /* vertically align to top of row */
      display: flex; align-items: flex-start;
      padding-top: 0;
      transform: translateY(-6px);
    }

    .time-row {
      display: contents;
    }

    /* Each day cell for a given hour slot */
    .day-cell {
      border-left: 1px solid var(--line);
      border-top: 1px solid var(--line);
      min-height: 52px;
      position: relative;
      background: var(--surface);
    }
    .day-cell.is-today { background: var(--today-bg); }
    .day-cell.is-today:hover { background: #e4f4f5; }

    /* Half-hour line */
    .day-cell::after {
      content: '';
      position: absolute;
      left: 0; right: 0;
      top: 50%;
      border-top: 1px dashed #ececec;
      pointer-events: none;
    }

    /* Class block */
    .class-block {
      position: absolute;
      left: 3px; right: 3px;
      background: var(--teal);
      border-radius: 5px;
      padding: 4px 6px;
      overflow: hidden;
      cursor: pointer;
      transition: filter 0.15s, box-shadow 0.15s;
      z-index: 2;
      text-decoration: none;
      display: block;
    }
    .class-block:hover { filter: brightness(1.1); box-shadow: 0 4px 12px rgba(58,154,163,0.35); }
    .class-block .cb-time {
      font-size: 1.014rem; font-weight: 600;
      color: rgba(255,255,255,0.85);
      letter-spacing: 0.04em; line-height: 1.2;
    }
    .class-block .cb-name {
      font-size: 1.17rem; font-weight: 600;
      color: #fff; line-height: 1.25; margin-top: 1px;
    }
    .class-block .cb-teacher {
      font-size: 1.014rem; font-weight: 300;
      color: rgba(255,255,255,0.8);
      line-height: 1.2; margin-top: 1px;
    }

    /* Shorter blocks get simplified display */
    .class-block.compact .cb-teacher { display: none; }
    .class-block.tiny .cb-time { display: none; }

    /* Today highlight pill on header */
    .today-pill {
      display: inline-block;
      background: var(--teal);
      color: white;
      border-radius: 50%;
      width: 26px; height: 26px;
      line-height: 26px;
      font-size: 1.3rem; font-weight: 600;
      margin: 0 auto;
    }
    .col-header:not(.is-today) .today-pill-wrap {
      font-size: 1.3rem; font-weight: 500; color: var(--text);
      width: 26px; height: 26px; line-height: 26px;
      margin: 0 auto; text-align: center;
    }

    /* Scrollable on mobile */
    @media (max-width: 700px) {
      .grid-wrapper { overflow-x: auto; }
      .calendar-grid { min-width: 600px; }
    }/* End custom CSS */