.flash{
  position:fixed;
  left:50%;
  top:86px;
  transform:translateX(-50%);
  z-index:30;
  width:min(680px, calc(100% - 32px));
  padding:14px 18px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,252,245,.96);
  box-shadow:var(--shadow);
  font-weight:800;
}
.flash.success{border-color:rgba(59,111,97,.35);color:var(--green-dark)}
.flash.error{border-color:rgba(150,72,60,.32);color:#8a3f35}
.photo-card{
  gap:18px;
  overflow:hidden;
}
.photo-card img{
  width:100%;
  max-width:520px;
  height:280px;
  object-fit:cover;
  border-radius:22px;
}
.gallery-section h2{max-width:780px}
.photo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:30px;
}
.photo-grid figure{
  margin:0;
  background:rgba(255,252,245,.78);
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 16px 42px rgba(59,111,97,.10);
}
.photo-grid img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.photo-grid figcaption{
  padding:12px 14px 14px;
  color:var(--muted);
  font-weight:700;
}
.booking-form,
.admin-form{
  display:grid;
  gap:16px;
}
.booking-form{
  padding:32px;
  background:rgba(255,252,245,.82);
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:var(--shadow);
}
.form-grid{
  display:grid;
  gap:14px;
}
.form-grid.two{grid-template-columns:repeat(2,1fr)}
.form-grid.three{grid-template-columns:repeat(3,1fr)}
.form-grid.four{grid-template-columns:repeat(4,1fr)}
label{
  display:grid;
  gap:7px;
  color:var(--green-dark);
  font-weight:800;
  font-size:.9rem;
}
input,
select,
textarea{
  width:100%;
  min-height:44px;
  border:1px solid rgba(119,188,162,.42);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  color:var(--ink);
  font:inherit;
  padding:10px 12px;
}
textarea{resize:vertical}
input:focus,
select:focus,
textarea:focus{
  outline:2px solid rgba(119,188,162,.32);
  border-color:var(--green);
}
.check-field{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:var(--muted);
  font-weight:700;
}
.check-field input{
  width:18px;
  min-height:18px;
  margin-top:4px;
}
.admin-mini-list{
  display:grid;
  gap:10px;
  padding:0;
  margin:26px 0 0;
  list-style:none;
}
.admin-mini-list li{
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,252,245,.66);
}
.thanks-panel{
  text-align:center;
  min-height:62vh;
  display:grid;
  place-content:center;
}
.reservation-code{
  display:inline-flex;
  justify-content:center;
  gap:8px;
  margin:4px auto 26px;
  padding:10px 16px;
  border-radius:999px;
  background:var(--green-soft);
  color:var(--green-dark);
}
.admin-auth{
  min-height:100vh;
  display:grid;
  place-items:center;
  background:var(--paper);
}
.auth-shell{
  width:min(460px, calc(100% - 28px));
}
.login-card{
  padding:36px;
  border:1px solid var(--line);
  border-radius:28px;
  background:rgba(255,252,245,.9);
  box-shadow:var(--shadow);
}
.login-card img{
  width:120px;
  display:block;
  margin:0 auto 14px;
}
.login-card h1{
  font-size:2.8rem;
  text-align:center;
}
.admin-body{
  background:var(--paper);
}
.admin-body h1,
.admin-body h2,
.admin-body h3{
  letter-spacing:0;
}
.admin-body h1{
  font-size:clamp(2rem,3vw,3rem);
  margin:0;
}
.admin-body h2{
  font-size:1.65rem;
  margin:0 0 18px;
}
.admin-body h3{
  font-size:1.18rem;
  margin:0 0 8px;
}
.admin-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:280px 1fr;
}
.admin-sidebar{
  position:sticky;
  top:0;
  height:100vh;
  display:flex;
  flex-direction:column;
  gap:24px;
  padding:24px;
  border-right:1px solid var(--line);
  background:rgba(252,248,241,.9);
}
.admin-brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-family:var(--serif);
  color:var(--green-dark);
  font-size:1.25rem;
}
.admin-brand img{width:54px}
.admin-nav{
  display:grid;
  gap:8px;
}
.admin-nav a,
.admin-sidebar-footer a{
  padding:10px 12px;
  border-radius:12px;
  color:var(--green-dark);
  font-weight:800;
}
.admin-nav a.active,
.admin-nav a:hover{
  background:var(--green-soft);
  text-decoration:none;
}
.admin-sidebar-footer{
  margin-top:auto;
  display:grid;
  gap:6px;
}
.admin-main{
  width:min(1240px, calc(100% - 36px));
  margin:0 auto;
  padding:32px 0 60px;
}
.admin-topbar{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin-bottom:26px;
}
.admin-topbar>span{
  padding:9px 13px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,252,245,.74);
  color:var(--muted);
  font-weight:800;
}
.admin-warning{
  margin:0 0 18px;
  padding:13px 15px;
  border:1px solid rgba(201,164,108,.45);
  border-radius:16px;
  background:rgba(201,164,108,.13);
  color:#76592a;
  font-weight:800;
}
.metric-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:18px;
}
.metric-card,
.admin-panel,
.slot-card{
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(255,252,245,.82);
  box-shadow:0 18px 54px rgba(59,111,97,.10);
}
.metric-card{
  padding:22px;
}
.metric-card span{
  display:block;
  color:var(--muted);
  font-weight:800;
}
.metric-card strong{
  display:block;
  margin-top:8px;
  font-family:var(--serif);
  font-size:2.2rem;
  color:var(--green-dark);
}
.admin-grid{
  display:grid;
  gap:18px;
  margin-bottom:18px;
}
.admin-grid.two-columns{
  grid-template-columns:1fr 1fr;
}
.admin-panel{
  padding:22px;
  margin-bottom:18px;
}
.panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.panel-head h2{margin:0}
.muted{
  color:var(--muted);
}
.admin-list{
  display:grid;
  gap:10px;
}
.admin-list-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid rgba(119,188,162,.18);
}
.admin-list-row:last-child{border-bottom:0}
.admin-list-row strong,
.admin-list-row span{
  display:block;
}
.admin-list-row span{color:var(--muted)}
.quick-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.admin-table-wrap{
  overflow:auto;
  border:1px solid var(--line);
  border-radius:16px;
}
.admin-table{
  min-width:900px;
  background:rgba(255,255,255,.46);
}
.admin-table th,
.admin-table td{
  vertical-align:top;
  padding:13px 14px;
}
.admin-table td span{
  display:block;
  color:var(--muted);
  font-size:.9rem;
}
.inline-form{
  display:flex;
  gap:8px;
  align-items:center;
}
.inline-form select{
  min-width:145px;
  min-height:38px;
}
.inline-form button,
.service-row button,
.content-block-form button{
  min-height:38px;
  border:1px solid var(--green);
  border-radius:999px;
  background:var(--green-soft);
  color:var(--green-dark);
  font-weight:900;
  padding:8px 12px;
  cursor:pointer;
}
.status{
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  background:var(--green-soft);
  color:var(--green-dark);
  font-weight:900;
}
.status-cancelled{background:rgba(150,72,60,.12);color:#8a3f35}
.status-inquiry{background:rgba(201,164,108,.16);color:#76592a}
.calendar-agenda{
  display:grid;
  gap:12px;
}
.agenda-item{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:12px;
  padding:12px;
  border:1px solid rgba(119,188,162,.22);
  border-radius:16px;
}
.agenda-item time{
  font-family:var(--serif);
  color:var(--green-dark);
  font-size:1.35rem;
}
.agenda-item span{
  display:block;
  color:var(--muted);
}
.slot-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.slot-card{
  padding:18px;
}
.slot-card>span{
  display:inline-flex;
  margin-bottom:10px;
  padding:4px 9px;
  border-radius:999px;
  background:var(--green-soft);
  color:var(--green-dark);
  font-weight:900;
  font-size:.8rem;
}
.slot-card.blocked>span{
  background:rgba(150,72,60,.12);
  color:#8a3f35;
}
.slot-card p,
.slot-card small{
  color:var(--muted);
}
.service-editor,
.content-editor{
  display:grid;
  gap:14px;
}
.content-overview{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.content-overview h2{margin-bottom:6px}
.content-section-stack{
  display:grid;
  gap:14px;
}
.content-section{
  border:1px solid rgba(119,188,162,.24);
  border-radius:18px;
  background:rgba(255,255,255,.34);
  overflow:hidden;
}
.content-section summary{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  padding:15px 17px;
  cursor:pointer;
  color:var(--green-dark);
  font-weight:900;
}
.content-section summary small{
  color:var(--muted);
  font-weight:800;
}
.content-editor-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  padding:0 16px 16px;
}
.content-card-form{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid rgba(119,188,162,.20);
  border-radius:16px;
  background:rgba(255,252,245,.74);
}
.content-card-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}
.content-card-head strong,
.content-card-head code{
  display:block;
}
.content-card-head code{
  margin-top:3px;
  color:var(--muted);
  font-size:.78rem;
}
.content-card-head button,
.image-edit-card button{
  min-height:36px;
  border:1px solid var(--green);
  border-radius:999px;
  background:var(--green-soft);
  color:var(--green-dark);
  font-weight:900;
  padding:7px 12px;
  cursor:pointer;
}
.image-create-form{
  margin-bottom:18px;
  padding:16px;
  border:1px solid rgba(119,188,162,.20);
  border-radius:18px;
  background:rgba(255,255,255,.34);
}
.image-editor-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.image-edit-card{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid rgba(119,188,162,.22);
  border-radius:18px;
  background:rgba(255,252,245,.78);
}
.image-edit-card figure{
  margin:0;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(119,188,162,.20);
}
.image-edit-card img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.image-card-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.service-row,
.content-block-form{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  padding:16px;
  border:1px solid rgba(119,188,162,.22);
  border-radius:18px;
  background:rgba(255,255,255,.38);
}
.service-row .full,
.content-block-form label:last-of-type{
  grid-column:1/-1;
}
.service-row .check-field{
  align-self:end;
}
.setup-list{
  display:grid;
  gap:10px;
  padding-left:1.3rem;
}
.calendar-hero{
  text-align:center;
  min-height:62vh;
  display:grid;
  place-content:center;
}
.calendar-hero .lead{
  max-width:880px;
  margin-inline:auto;
}
.quick-choice{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.quick-choice article,
.month-card,
.event-card,
.process-grid article{
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,252,245,.78);
  box-shadow:0 18px 54px rgba(59,111,97,.10);
}
.quick-choice article{
  padding:24px;
}
.quick-choice h2{
  font-size:1.7rem;
}
.quick-choice a{
  font-weight:900;
}
.calendar-section .booking-form{
  align-self:start;
}
.calendar-legend,
.experience-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:18px 0 22px;
}
.calendar-legend span,
.experience-filters span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.45);
  color:var(--green-dark);
  font-weight:900;
  font-size:.86rem;
}
.calendar-legend .free{background:rgba(119,188,162,.18)}
.calendar-legend .partial{background:rgba(201,164,108,.18)}
.calendar-legend .occupied{background:rgba(150,72,60,.13)}
.calendar-legend .unavailable{background:rgba(96,118,110,.12)}
.calendar-legend .inquiry{background:rgba(221,241,234,.66)}
.month-card{
  padding:18px;
}
.month-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.month-head h3{
  margin:0;
}
.month-head p{
  margin:0;
  color:var(--muted);
  font-weight:800;
}
.calendar-weekdays,
.month-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
}
.calendar-weekdays span{
  color:var(--muted);
  font-weight:900;
  text-align:center;
  font-size:.82rem;
}
.calendar-empty,
.calendar-day{
  min-height:82px;
  border-radius:14px;
}
.calendar-day{
  display:grid;
  align-content:start;
  gap:3px;
  padding:10px;
  border:1px solid rgba(119,188,162,.24);
  background:rgba(255,255,255,.44);
  color:var(--ink);
}
a.calendar-day:hover{
  text-decoration:none;
  transform:translateY(-1px);
}
.calendar-day.disabled{
  cursor:not-allowed;
}
.calendar-day.disabled:hover{
  transform:none;
}
.calendar-day strong{
  font-family:var(--serif);
  font-size:1.25rem;
  color:var(--green-dark);
}
.calendar-day span{
  font-size:.78rem;
  font-weight:900;
}
.calendar-day small{
  color:var(--muted);
}
.calendar-day.free{background:rgba(119,188,162,.18)}
.calendar-day.partial{background:rgba(201,164,108,.18)}
.calendar-day.occupied{background:rgba(150,72,60,.12)}
.calendar-day.unavailable{background:rgba(96,118,110,.12);opacity:.74}
.calendar-day.inquiry{background:rgba(221,241,234,.58)}
.calendar-day.event{background:rgba(119,188,162,.23);border-color:rgba(59,111,97,.34)}
.calendar-day.range-start,
.calendar-day.range-end{
  position:relative;
  border-color:#2f6f5f;
  background:linear-gradient(145deg, #2f6f5f, #77bca2);
  color:#fff;
  box-shadow:0 14px 28px rgba(47,111,95,.24);
}
.calendar-day.range-start::after,
.calendar-day.range-end::after{
  content:"Příjezd";
  position:absolute;
  right:8px;
  bottom:7px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
  color:#fff;
  font-size:.66rem;
  font-weight:900;
}
.calendar-day.range-end::after{
  content:"Odjezd";
}
.calendar-day.range-start strong,
.calendar-day.range-start span,
.calendar-day.range-start small,
.calendar-day.range-end strong,
.calendar-day.range-end span,
.calendar-day.range-end small{
  color:#fff;
}
.calendar-day.in-range{
  border-color:rgba(47,111,95,.45);
  background:linear-gradient(145deg, rgba(119,188,162,.42), rgba(221,241,234,.88));
  box-shadow:inset 0 0 0 2px rgba(47,111,95,.08);
}
.calendar-booking-card h3{
  margin-bottom:6px;
}
.calendar-selection-note{
  margin:10px 0 18px;
  padding:10px 12px;
  border:1px solid rgba(59,111,97,.18);
  border-radius:14px;
  background:rgba(221,241,234,.55);
  color:var(--green-dark);
  font-size:.92rem;
  font-weight:800;
}
.calendar-request-form{
  display:grid;
  gap:14px;
}
.calendar-section-head{
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:flex-start;
  margin-bottom:24px;
}
.calendar-section-head>div:first-child{
  max-width:720px;
}
.calendar-experience-layout{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:22px;
  align-items:start;
}
.event-list{
  display:grid;
  gap:12px;
}
.event-list h3{
  margin-bottom:4px;
}
.event-card{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  padding:16px;
}
.event-card time,
.event-card small{
  display:block;
  color:var(--muted);
  font-weight:800;
}
.event-card h4{
  margin:4px 0 6px;
  color:var(--green-dark);
  font-family:var(--serif);
  font-size:1.35rem;
}
.event-card p{
  margin:0 0 8px;
}
.experience-request-form{
  margin-top:22px;
}
.process-section h2{
  max-width:760px;
}
.process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:24px;
}
.process-grid article{
  padding:22px;
}
.process-grid span{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:999px;
  background:var(--green-soft);
  color:var(--green-dark);
  font-weight:900;
  margin-bottom:14px;
}
.calendar-admin-intro{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:18px;
  align-items:center;
}
.admin-calendar-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.admin-calendar-tabs a{
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.42);
  color:var(--green-dark);
  font-weight:900;
}
.slot-card.last_places>span,
.slot-card.full>span{
  background:rgba(201,164,108,.16);
  color:#76592a;
}
.slot-card.cancelled>span{
  background:rgba(150,72,60,.12);
  color:#8a3f35;
}
.shop-hero{
  min-height:62vh;
  display:grid;
  place-content:center;
  text-align:center;
}
.shop-hero .lead{
  max-width:860px;
  margin-inline:auto;
}
.shop-categories,
.shop-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.shop-categories article,
.shop-card,
.shop-cart-panel,
.shop-detail-image{
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,252,245,.78);
  box-shadow:0 18px 54px rgba(59,111,97,.10);
}
.shop-categories article{
  padding:22px;
}
.shop-categories h2{
  font-size:1.45rem;
}
.shop-card{
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.shop-card-image{
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  background:rgba(221,241,234,.4);
}
.shop-card-image img,
.shop-detail-image img,
.cart-row img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.shop-card-body{
  padding:20px;
  display:grid;
  gap:12px;
  flex:1;
}
.shop-card-body>span{
  color:var(--green);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.shop-card-body h3{
  font-size:1.45rem;
  margin:0;
}
.shop-card-body p{
  margin:0;
  color:var(--muted);
}
.shop-card-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
}
.shop-card-actions strong{
  font-family:var(--serif);
  color:var(--green-dark);
  font-size:1.35rem;
}
.shop-card-actions .button{
  min-height:40px;
  padding:8px 14px;
  font-size:.74rem;
}
.shop-detail{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:54px;
  align-items:center;
}
.shop-detail h1{
  font-size:clamp(2.8rem,6vw,6.2rem);
}
.shop-detail-image{
  overflow:hidden;
  aspect-ratio:4/5;
}
.shop-buy-form{
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  gap:14px;
  margin-top:24px;
}
.shop-buy-form label{
  display:grid;
  gap:6px;
  font-weight:800;
  color:var(--green-dark);
}
.shop-buy-form input{
  width:120px;
}
.shop-cart-layout{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:30px;
  align-items:start;
}
.shop-cart-panel{
  padding:26px;
}
.cart-row{
  display:grid;
  grid-template-columns:86px 1fr 100px 120px;
  gap:14px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.cart-row img{
  height:70px;
  border-radius:14px;
}
.cart-row span{
  display:block;
  color:var(--muted);
}
.cart-row label{
  display:grid;
  gap:5px;
  font-size:.78rem;
  font-weight:900;
  color:var(--green-dark);
}
.cart-row b{
  text-align:right;
}
.cart-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:20px 0;
  padding:16px 0 0;
  color:var(--green-dark);
}
.cart-total strong{
  font-family:var(--serif);
  font-size:2rem;
}
.shop-order-inline{
  display:grid;
  grid-template-columns:190px 150px 1fr auto;
  gap:10px;
  align-items:center;
}
.shop-admin-hero{
  display:grid;
  grid-template-columns:1fr auto;
  gap:20px;
  align-items:center;
}
.shop-admin-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.shop-admin-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:18px;
}
.shop-admin-stats article{
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,252,245,.78);
  box-shadow:0 14px 34px rgba(59,111,97,.08);
}
.shop-admin-stats span,
.shop-admin-stats small{
  display:block;
  color:var(--muted);
  font-weight:800;
}
.shop-admin-stats strong{
  display:block;
  margin:4px 0;
  font-family:var(--serif);
  font-size:2.15rem;
  color:var(--green-dark);
}
.shop-admin-tabs{
  position:sticky;
  top:0;
  z-index:3;
  margin-bottom:18px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(244,239,230,.94);
  backdrop-filter:blur(10px);
}
.shop-admin-table td:last-child,
.shop-admin-table th:last-child{
  text-align:left;
}
.shop-product-cell{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:260px;
}
.shop-product-cell img{
  width:56px;
  height:56px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid var(--line);
}
.shop-product-cell strong,
.shop-product-cell span{
  display:block;
}
.shop-row-actions{
  white-space:nowrap;
}
.shop-row-actions a{
  display:inline-flex;
  margin-right:10px;
  font-weight:900;
}
.shop-admin-edit-row td{
  background:rgba(221,241,234,.22);
}
.shop-edit-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.shop-edit-card,
.shop-settings-grid article{
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,252,245,.72);
}
.shop-edit-card{
  display:grid;
  gap:12px;
}
.shop-edit-card-head{
  display:flex;
  align-items:center;
  gap:12px;
}
.shop-edit-card-head img{
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:14px;
}
.shop-edit-card-head strong,
.shop-edit-card-head a{
  display:block;
}
.shop-edit-card button{
  justify-self:start;
}
.shop-settings-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
@media (max-width:1100px){
  .admin-shell{grid-template-columns:1fr}
  .admin-sidebar{
    position:relative;
    height:auto;
  }
  .admin-nav{
    grid-template-columns:repeat(4,1fr);
  }
  .metric-grid,
  .quick-choice,
  .process-grid,
  .slot-grid,
  .shop-categories,
  .shop-grid,
  .shop-admin-stats,
  .shop-edit-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .calendar-experience-layout,
  .calendar-admin-intro,
  .shop-admin-hero,
  .shop-detail,
  .shop-cart-layout,
  .shop-settings-grid{
    grid-template-columns:1fr;
  }
  .shop-admin-actions{
    justify-content:flex-start;
  }
  .admin-calendar-tabs{
    justify-content:flex-start;
  }
}
@media (max-width:760px){
  .photo-grid,
  .content-editor-grid,
  .image-editor-grid,
  .form-grid.two,
  .form-grid.three,
  .form-grid.four,
  .admin-grid.two-columns,
  .metric-grid,
  .quick-choice,
  .process-grid,
  .slot-grid,
  .shop-categories,
  .shop-grid,
  .shop-admin-stats,
  .shop-edit-grid,
  .shop-order-inline,
  .service-row,
  .content-block-form{
    grid-template-columns:1fr;
  }
  .booking-form,
  .login-card,
  .admin-panel{
    padding:18px;
  }
  .admin-nav{
    grid-template-columns:1fr 1fr;
  }
  .admin-topbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .calendar-section-head,
  .event-card,
  .month-head{
    flex-direction:column;
  }
  .calendar-day{
    min-height:72px;
    padding:8px;
  }
  .cart-row{
    grid-template-columns:70px 1fr;
  }
  .cart-row b{
    text-align:left;
  }
}
