.pp-front{max-width:980px;margin:0 auto;padding:8px 0 40px}.pp-front *{box-sizing:border-box}.pp-event-summary,.pp-booking-box,.pp-model-card{background:#fff;border:1px solid #eee;border-radius:16px;padding:20px;margin:0 0 22px}.pp-event-summary h2,.pp-models>h2,.pp-booking-box h2{margin-top:0}.pp-event-summary dl{margin:0}.pp-event-summary dl>div{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid #f1f1f1}.pp-event-summary dt{font-weight:700}.pp-extra{margin-top:14px;padding:12px;background:#fafafa;border-radius:10px}.pp-model-card{padding:0;overflow:hidden}.pp-model-top{display:flex;gap:16px;align-items:center;padding:16px}.pp-model-top img{width:110px;height:110px;object-fit:cover;border-radius:12px}.pp-model-top h3{margin:0 0 6px;font-size:20px}.pp-model-top p{margin:4px 0}.pp-slot-grid{border-top:1px solid #eee}.pp-slot-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #f1f1f1}.pp-slot-row:last-child{border-bottom:0}.pp-slot-row div{display:flex;gap:10px;align-items:center}.pp-add-cart,.pp-submit-booking{appearance:none;border:0;border-radius:999px;background:#111;color:#fff;font-weight:700;padding:10px 16px;cursor:pointer}.pp-add-cart:disabled,.pp-submit-booking:disabled{opacity:.45;cursor:not-allowed}.pp-soldout{font-weight:700;color:#888}.pp-cart-item{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #eee}.pp-cart-item div{display:flex;flex-direction:column}.pp-cart-item button{background:none;border:0;text-decoration:underline;cursor:pointer}.pp-cart-total,#pp-cart-total{font-weight:800;text-align:right;padding:14px 0}.pp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pp-form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700}.pp-form-grid input{width:100%;padding:11px;border:1px solid #ccc;border-radius:8px}.pp-form-grid .pp-full{grid-column:1/-1}.pp-terms{display:block;margin:18px 0}.pp-privacy-note{font-size:13px;color:#666}.pp-submit-booking{font-size:16px;padding:14px 22px;width:100%}.pp-notice{padding:14px 16px;border-radius:10px;margin-bottom:18px}.pp-success{background:#eef9f1}.pp-error{background:#fff0f0}.pp-extra a{word-break:break-all}@media(max-width:640px){.pp-front{padding-left:10px;padding-right:10px}.pp-event-summary,.pp-booking-box{padding:16px}.pp-model-top img{width:82px;height:82px}.pp-model-top h3{font-size:17px}.pp-slot-row{padding:10px 12px}.pp-slot-row div{flex-direction:column;align-items:flex-start;gap:2px}.pp-add-cart{padding:9px 12px;font-size:13px}.pp-form-grid{grid-template-columns:1fr}.pp-form-grid .pp-full{grid-column:auto}.pp-event-summary dl>div{grid-template-columns:74px 1fr}}

.pp-booking-status{margin-top:14px;padding:10px 14px;border-radius:10px;background:#f5f5f5}.pp-booking-status.is-open{background:#eef9f1}.pp-capacity{font-size:12px;color:#777;margin-left:6px}

.pp-limit-notice{margin-top:14px;padding:14px 16px;border-radius:10px;background:#fff7df;border:1px solid #efd58a;line-height:1.7}
.pp-limit-notice strong{font-size:1.05em}
.pp-inline-limit-error{margin:10px 0 16px}
.pp-add-cart:disabled{opacity:.55;cursor:not-allowed}

.pp-slot-price{display:inline-block;margin-left:8px;font-weight:700;color:#111}

.pp-model-photo{width:76px!important;height:76px!important;object-fit:cover;border-radius:10px;display:block}
.pp-model-photo-link{display:block;flex:0 0 auto;text-decoration:none}
.pp-model-name-link{color:inherit;text-decoration:none}
.pp-model-name-link:hover{text-decoration:underline}
@media (min-width:768px){
  .pp-model-photo{width:88px!important;height:88px!important}
}

/* v0.8.6: model header layout is owned by the plugin, not the WP theme */
.pp-front .pp-model-top{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  padding:16px!important;
}
.pp-front .pp-model-photo-wrap{
  flex:0 0 82px!important;
  width:82px!important;
  min-width:82px!important;
  display:block!important;
  order:0!important;
}
.pp-front .pp-model-photo-link{
  display:block!important;
  width:82px!important;
  height:82px!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  position:static!important;
  text-decoration:none!important;
}
.pp-front .pp-model-photo{
  display:block!important;
  width:82px!important;
  height:82px!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:10px!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  position:static!important;
  transform:none!important;
}
.pp-front .pp-model-info{
  flex:1 1 auto!important;
  min-width:0!important;
  order:1!important;
  text-align:left!important;
}
.pp-front .pp-model-info h3{
  margin:0 0 6px!important;
}
.pp-front .pp-model-name-link{
  color:inherit!important;
  text-decoration:none!important;
}
.pp-front .pp-model-name-link:hover{
  text-decoration:underline!important;
}
@media(min-width:768px){
  .pp-front .pp-model-photo-wrap{flex-basis:96px!important;width:96px!important;min-width:96px!important}
  .pp-front .pp-model-photo-link,.pp-front .pp-model-photo{width:96px!important;height:96px!important}
}

.pp-draft-preview-badge{
  margin:0 0 14px;
  padding:12px 14px;
  border:2px dashed #d63638;
  border-radius:10px;
  background:#fff5f5;
  font-size:14px;
  line-height:1.6;
}
.pp-draft-preview-badge strong{font-size:16px}

.pp-soldout-red{color:#d63638!important;font-weight:700;}

.pp-shooting-notice{
  margin:18px 0;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.pp-shooting-notice details{margin:0}
.pp-shooting-notice summary{
  cursor:pointer;
  list-style:none;
  padding:15px 18px;
  font-weight:700;
  background:#f7f9fa;
}
.pp-shooting-notice summary::-webkit-details-marker{display:none}
.pp-shooting-notice summary::after{
  content:"▼";
  float:right;
  font-size:12px;
  margin-top:3px;
}
.pp-shooting-notice details[open] summary::after{content:"▲"}
.pp-shooting-notice-body{
  padding:16px 20px 18px;
  line-height:1.75;
}
.pp-shooting-notice-body ol{
  margin:0 0 14px 1.4em;
  padding:0;
}
.pp-shooting-notice-body li{margin:0 0 8px}
.pp-shooting-notice-body p{margin:12px 0 0}
@media(max-width:600px){
  .pp-shooting-notice summary{padding:14px 15px}
  .pp-shooting-notice-body{padding:14px 16px 16px;font-size:14px}
}

.pp-pair-capacity{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.pp-pair-add-cart{font-size:12px;padding:7px 10px}
@media(max-width:600px){
  .pp-pair-capacity{align-items:stretch}
  .pp-pair-add-cart{width:100%}
}

.pp-pair-confirm-overlay{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.55);
}
.pp-pair-confirm-dialog{
  width:min(520px,100%);
  max-height:85vh;
  overflow:auto;
  background:#fff;
  border-radius:14px;
  padding:22px;
  box-shadow:0 16px 50px rgba(0,0,0,.28);
}
.pp-pair-confirm-dialog h3{margin:0 0 12px}
.pp-pair-confirm-dialog p{line-height:1.7;margin:0 0 14px}
.pp-pair-confirm-list{
  white-space:pre-line;
  padding:12px 14px;
  margin:0 0 18px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#f7f9fa;
  line-height:1.7;
  font-weight:700;
}
.pp-pair-confirm-actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
}
.pp-pair-confirm-actions button{
  cursor:pointer;
  border-radius:9px;
  padding:10px 14px;
  font-weight:700;
}
.pp-pair-confirm-back{
  border:1px solid #c3c4c7;
  background:#fff;
}
.pp-pair-confirm-ok{
  border:0;
  background:#2271b1;
  color:#fff;
}
@media(max-width:600px){
  .pp-pair-confirm-actions{flex-direction:column-reverse}
  .pp-pair-confirm-actions button{width:100%}
}

.pp-pair-confirm-inline{
  margin:18px 0 14px;
  padding:16px;
  border:2px solid #d63638;
  border-radius:12px;
  background:#fff7f7;
  line-height:1.7;
}
.pp-pair-confirm-title{
  margin-bottom:8px;
  font-size:17px;
  font-weight:800;
}
.pp-pair-confirm-inline p{margin:8px 0}
.pp-pair-confirm-inline .pp-pair-confirm-list{
  white-space:pre-line;
  margin:12px 0;
  padding:12px 14px;
  border-radius:9px;
  background:#fff;
  font-weight:700;
}
.pp-pair-confirm-note{
  font-weight:700;
}
.pp-submit-booking.is-pair-confirm{
  font-weight:800;
}

.pp-capacity-full-label{
  color:inherit !important;
  font-weight:700;
}
.pp-pair-capacity{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.pp-pair-capacity .pp-pair-add-cart[hidden]{
  display:none !important;
}

.pp-slot-row .pp-soldout{
  white-space:nowrap;
}

.pp-pair-confirm-inline.is-submitting{
  opacity:.7;
  pointer-events:none;
}

.pp-capacity{
  display:block;
  margin-top:3px;
  font-size:12px;
  font-weight:700;
}

.pp-capacity-guide{
  margin:0 0 14px;
  padding:10px 12px;
  border:1px solid #ddd;
  border-radius:8px;
  font-size:14px;
  line-height:1.5;
}

.pp-studio-stand-note{
  margin:10px 0;
  padding:9px 12px;
  border-radius:8px;
  background:#fff8e8;
  font-size:13px;
  font-weight:700;
  line-height:1.6;
}

.pp-sns-note{
  display:block;
  margin-top:7px;
  font-size:12px;
  line-height:1.65;
  font-weight:400;
}
.pp-sns-note strong{
  font-weight:700;
}

.pp-pair-confirm-cancel{
  margin-top:10px;
  width:100%;
  padding:10px 12px;
  border:1px solid #999;
  border-radius:8px;
  background:#fff;
  cursor:pointer;
  font-weight:700;
}
.pp-pair-confirm-cancel:hover{
  background:#f7f7f7;
}

.pp-special-pair-note{margin-top:4px;font-size:12px;font-weight:700;line-height:1.5;}
