body{
  font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}
img{
    width: 100%;
}
#wrap{
    width: 100%;
    display: flex;
    padding: 20px;
}
#inner_color {
  width: 33%;
}
#inner_wrap {
  width: 60%;
}
.inner_pattern {
  height: 50%;
  display: flex;
  flex-direction: row;
  gap: 25px;        /* mezery mezi swatchi */
  align-items: flex-start;
  flex-wrap: nowrap; /* důležité – NELÁMAT */
}
#svg {
margin-left: 150px;
padding-right: 100px;  
}

.outer-circle {
  fill: none;
  stroke: none;
}

.inner-circle {
  fill: none;
  stroke: none;
}
.radius {
     stroke: transparent; stroke-width: 1.5; 
}

/* =========================
   EXPERIMENTY – můžeš mazat
   ========================= */
.slice {
  cursor: pointer;
  opacity: 0.9;
  filter: drop-shadow(0 3px 6px rgba(0,0,0,0.2));

  transition:
    opacity 400ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 400ms cubic-bezier(0.22, 1, 0.36, 1),
    stroke-width 400ms cubic-bezier(0.22, 1, 0.36, 1);
}

.slice:hover {
  opacity: 1.2;
  filter: drop-shadow(0 3px 6px rgba(0,0,0,0.5));
}

.slice.is-selected {
  opacity: 1.2;
  filter: drop-shadow(0 6px 12px rgba(0,0,0,0.7));
  stroke: rgba(128, 125, 125, 0.5);
  stroke-width: 0.3;
}
.slice.is-selected:hover {
  opacity: 1.2;
  filter: drop-shadow(0 6px 12px rgba(0,0,0,0.9));
  stroke: rgba(128, 125, 125, 0.5);
}


.swatch{
  width: 80px;
  height: 80px;
  display: block;
  filter: drop-shadow(0 0.5px 1.5px rgba(0,0,0,0.56));
}
.swatch .hit {
  fill: transparent;
  cursor: pointer;
}
.swatch .ring {
  fill: none;
  stroke: rgba(0,0,0,0.18);
  stroke-width: 1;
  opacity: 0;
  pointer-events: none; /* ať ring neblokuje hit */
  transition: opacity 180ms ease-out;
}

.swatch .check {
  opacity: 0;
  pointer-events: none;
}
.swatch_item{
  width: 80px;                 /* stejná jako kruh */
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;                    /* mezera mezi kruhem a textem */
  margin-top: 110px;
}

.swatch-label{
  position: relative;
  font-size: 15px;
  line-height: 1.2;
  text-align: center;
  color: #777;
  user-select: none;

  transform: translateY(0);
  transition: transform 180ms ease-out, color 180ms ease-out;
}
.swatch-label::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;

  height: 2px;
  background-color: currentColor;

  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms ease-out;
}
.swatch_item:hover .swatch-label{
  color: #444;
}

.swatch_item:hover .swatch-label::after{
  transform: scaleX(1);
}
.swatch_item.is-selected .swatch-label{
  color: #222;
  transform: translateY(6px); /* jemný posun dolů */

}

.swatch_item.is-selected .swatch-label::after{
  transform: scaleX(1);
}
.swatch_item:hover .swatch{
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.48));
}
.swatch_item.is-selected:hover .swatch-label{
  color: #222;
}
.swatch_item:hover .swatch-label{
  transform: translateY(6px); /* jemný posun dolů */
  color: #0c0c0c;               /* lehce ztmavne */
}
.clear_filters{
  flex: 0 0 auto;
  align-self: center;
  border-radius: 4px;
  border: 1px solid grey;
  background: #fff;
  color: #333;
  cursor: pointer;
  padding: 8px 12px;
  margin-left: 30px;
  margin-top: 80px;
}

.clear_filters:disabled{
  cursor: default;
  border: 1px solid #ccc;
  background: white;
  opacity: 0.5;
}
.format_bar{
  display: flex;
  align-items: flex-start;
  flex-wrap: nowrap;
  padding: 6px 0 10px;
  margin-top: 70px;
  margin-left: 15px;
}

.format_group{
  display: flex;
  flex-direction: column;
  min-width: max-content;
}

.format_group_title{
  font-weight: 500;
  color: #444;
  margin-bottom: 20px;
}

.format_items{
  display: flex;
  gap: 14px;
  align-items: center;
}

.format_item{
  /* tlačítko “jako swatch” */
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;

  width: 90px;            /* šířka celé karty */
  display: flex;
  flex-direction: column;
  align-items: center;
}

.format_box{
  display: block;
  background: #555;       /* “dlaždice” */
  border-radius: 4px;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.10); /* jemný okraj */
  transition: transform 180ms ease-out, filter 180ms ease-out;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.18)); /* jako kruhy */
}

/* label s underline animací */
.format_label{
  position: relative;
  color: #777;
  font-size: 15px;
  line-height: 1.2;
  text-align: center;
  user-select: none;
  margin-top: 8px;

  transform: translateY(0);
  transition: transform 180ms ease-out, color 180ms ease-out;
}

.format_label::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms ease-out;
}

/* hover = stín + mírný pohyb + underline */
.format_item:hover .format_box{
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.28));
}

.format_item:hover .format_label{
  color: #444;
  transform: translateY(6px);
}
.format_item:hover .format_label::after{
  transform: scaleX(1);
}

/* selected = underline zůstane + klidně lehce zvýraznit box */
.format_item.is-selected .format_box{
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.28));
  box-shadow: 0 0 0 2px rgba(0,0,0,0.18);
}

.format_item.is-selected .format_label{
  color: #222;
  transform: translateY(6px);
}
.format_item.is-selected .format_label::after{
  transform: scaleX(1);
}

/* tvoje clear tlačítko může zůstat, jen ho posunu doprava */
#clearFormats{
  border-radius: 4px;
  border: 1px solid grey;
  background: #fff;
  color: #333;
  cursor: pointer;
  padding: 8px 12px;
  margin-left: 50px;
  margin-top: -30px;
}
#clearFormats:disabled{
  cursor: default;
  border: 1px solid #ccc;
  background: white;
  opacity: 0.5;
}

/* ==== zde si nastavíš reálné rozměry "dlaždic" ==== */
/* čtverec */
.size-square-small  { width: 30px; height: 30px; }
.size-square-medium { width: 40px; height: 40px; }
.size-square-large  { width: 50px; height: 50px; }

/* obdélník */
.size-rect-small  { width: 45px; height: 30px; }
.size-rect-medium { width: 55px; height: 40px; }
.size-rect-large  { width: 65px; height: 50px; }


@media (min-width: 769px){
  #header_small{
    display: none;
  }
  #obdelnik{
    margin-left: 80px;
  }
}
@media (max-width: 768px){
  #header_big{
    display: none;
}
  #header_small{
    width: 100%;
  }
  #svg {
    margin-left: 0px;
    padding-right: 0px;
    width: 350px;  
    height: 350px;
}
  #wrap{
    display:block;
    padding: 0;
}
  body{
  overflow: visible;
}
  .inner_pattern{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
    justify-items: center;
    padding-left: 0px;
    height: auto;
  }
  .swatch_item{
    width: auto;          /* grid řídí šířku */
    margin-top: 0px;
  }
  .format_bar{
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
  }

  .format_group{
    align-items: center;
    text-align: center;
  }

  .format_items{
    justify-content: center;
  }
   .swatch_item:hover .swatch,
  .format_item:hover .format_box{
    transform: none;
    filter: none;
  }
  #obdelnik{
    margin-left: 0;
  }
  /* čtverec */
.size-square-small  { width: 20px; height: 20px; }
.size-square-medium { width: 30px; height: 30px; }
.size-square-large  { width: 40px; height: 40px; }

/* obdélník */
.size-rect-small  { width: 35px; height: 20px; }
.size-rect-medium { width: 45px; height: 30px; }
.size-rect-large  { width: 55px; height: 40px; }

.format_items{
  display: flex;
  gap: 4px;
  align-items: center;
}

.format_item{
  /* tlačítko “jako swatch” */
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 80px;
}
#inner_color{
    margin-left: 13px;
}
}
