.jtcs-shell{max-width:1200px;margin:0 auto;padding:24px;background:linear-gradient(180deg,#fffdf9 0%,#ffffff 100%);border:1px solid #eee3d6;border-radius:24px;box-shadow:0 18px 40px rgba(27,22,16,.06)}
.jtcs-shell + .jtcs-shell{margin-top:24px}.jtcs-section-head{margin-bottom:22px}.jtcs-kicker{margin:0 0 8px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#8a6a4a;font-weight:700}.jtcs-section-head h2{margin:0 0 10px;font-size:clamp(28px,4vw,40px);line-height:1.05;color:#1f1a17}.jtcs-intro{margin:0;color:#5c534a;font-size:16px;line-height:1.6;max-width:760px}.jtcs-head-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:14px}.jtcs-head-actions .jtcs-link-button{background:transparent;border:1px solid #d8c6b4;padding:10px 16px;color:#5c4633}.jtcs-head-actions .jtcs-link-button:hover{background:#f8f3ee}.jtcs-meta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.jtcs-meta-row span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f6eee4;color:#5c4633;font-size:13px;font-weight:600}
.jtcs-form,.jtcs-gallery,.jtcs-results{max-width:1200px}.jtcs-grid,.jtcs-gallery{display:grid;gap:18px}.jtcs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jtcs-form label{display:block;margin-bottom:8px;font-weight:600;color:#2b241f}.jtcs-form input,.jtcs-form textarea,.jtcs-form select{width:100%;padding:14px 16px;border:1px solid #dcccbc;border-radius:14px;box-sizing:border-box;background:#fff;color:#201b18;transition:border-color .2s ease,box-shadow .2s ease}.jtcs-form input:focus,.jtcs-form textarea:focus,.jtcs-form select:focus{outline:none;border-color:#8a6a4a;box-shadow:0 0 0 4px rgba(138,106,74,.12)}
.jtcs-button,.jtcs-vote-button,.jtcs-link-button{border:0;border-radius:999px;padding:14px 22px;cursor:pointer;font-weight:700;transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.jtcs-button{background:#1f1a17;color:#fff;box-shadow:0 12px 22px rgba(31,26,23,.16)}.jtcs-vote-button,.jtcs-link-button{background:#f2e5d6;color:#3b2c1f}.jtcs-button:hover,.jtcs-vote-button:hover,.jtcs-link-button:hover{transform:translateY(-1px)}
.jtcs-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.jtcs-card{border:1px solid #eadbcb;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 14px 30px rgba(39,30,24,.07);display:flex;flex-direction:column}.jtcs-media{aspect-ratio:4/3;background:#f4eee8;overflow:hidden}.jtcs-media a{display:block;width:100%;height:100%}.jtcs-media img{display:block;width:100%;height:100%;object-fit:cover}.jtcs-body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}.jtcs-card-eyebrow{margin:0;color:#8a6a4a;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.jtcs-body h3{margin:0;font-size:22px;line-height:1.15;color:#1f1a17}.jtcs-category-pill{margin:0;display:inline-flex;align-self:flex-start;padding:6px 10px;border-radius:999px;background:#f8f3ee;color:#6b5645;font-size:12px;font-weight:700}.jtcs-content{color:#5d544d;line-height:1.6}.jtcs-content p{margin:0 0 8px}.jtcs-card-footer{margin-top:auto}.jtcs-hidden{display:none}.jtcs-help,.jtcs-feedback,.jtcs-legal{font-size:13px;color:#6a625b}.jtcs-check{margin:12px 0}.jtcs-check label{font-weight:500}.jtcs-file,.jtcs-empty-state{display:flex;align-items:center;justify-content:center;text-align:center;background:#f8f3ee;color:#624b37}.jtcs-file{height:100%;padding:20px}.jtcs-empty-state{min-height:220px;border:1px dashed #d9c3ad;border-radius:20px;flex-direction:column;padding:24px}.jtcs-empty-state h3{margin:0 0 8px;color:#1f1a17}.jtcs-feedback{margin-top:8px}.jtcs-feedback-success,.jtcs-feedback-error,.jtcs-feedback-info{padding:14px 16px;border-radius:14px;margin-bottom:16px}.jtcs-feedback-success{background:#eef8f0;border:1px solid #bfdac4;color:#215a2d}.jtcs-feedback-error{background:#fff2f0;border:1px solid #efc5be;color:#9b3023}.jtcs-feedback-info{background:#f6f2ff;border:1px solid #d8cbf6;color:#513a8a}.jtcs-vote-button[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.jtcs-results-section + .jtcs-results-section{margin-top:26px}.jtcs-results-section h3{margin:0 0 12px;font-size:22px;color:#1f1a17}.jtcs-results-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.jtcs-results-list li{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:16px 18px;border:1px solid #eadbcb;border-radius:18px;background:#fffaf5}.jtcs-rank{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#1f1a17;color:#fff;font-weight:700}.jtcs-result-title{font-weight:700;color:#1f1a17}.jtcs-result-author{color:#6a625b}.jtcs-result-score{color:#6b5645;font-weight:600}
.jtcs-modal{position:fixed;inset:0;display:none;z-index:99999;padding:16px;box-sizing:border-box}.jtcs-modal.is-open{display:flex;align-items:center;justify-content:center}.jtcs-modal-backdrop{position:absolute;inset:0;background:rgba(18,14,11,.72)}.jtcs-modal-dialog{position:relative;z-index:2;width:min(100%,1080px);max-width:1080px;max-height:min(92vh,980px);overflow:auto;margin:0;background:#fff;border-radius:24px;padding:20px;box-shadow:0 30px 80px rgba(0,0,0,.35);overscroll-behavior:contain}.jtcs-modal-dialog img,.jtcs-modal-dialog iframe{display:block;width:100%;height:auto;max-height:calc(92vh - 140px);object-fit:contain;border:0;background:#f7f2eb;border-radius:16px}.jtcs-modal-dialog-rules iframe{height:min(72vh,900px)}.jtcs-modal-close{position:sticky;top:0;left:100%;margin-left:auto;margin-bottom:8px;border:0;background:#1f1a17;color:#fff;width:40px;height:40px;border-radius:999px;cursor:pointer;font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;z-index:3}.jtcs-modal-open{overflow:hidden}
@media (max-width:900px){.jtcs-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.jtcs-results-list li{grid-template-columns:52px 1fr}}
@media (max-width:640px){.jtcs-grid,.jtcs-gallery,.jtcs-results-list li{grid-template-columns:1fr}.jtcs-shell{padding:18px;border-radius:18px}.jtcs-head-actions,.jtcs-meta-row{flex-direction:column;align-items:flex-start}}


.jtcs-header-layout .jtcs-header-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}
.jtcs-header-layout .jtcs-header-actions{text-align:right}
.jtcs-header-layout .jtcs-head-actions-secondary{margin-top:14px}
.jtcs-shell-gallery-widget .jtcs-gallery-elementor{display:grid;grid-template-columns:repeat(var(--jtcs-cols-desktop,3),minmax(0,1fr));gap:var(--jtcs-gallery-gap,24px)}
@media (max-width:1024px){.jtcs-shell-gallery-widget .jtcs-gallery-elementor{grid-template-columns:repeat(var(--jtcs-cols-tablet,2),minmax(0,1fr))}}
@media (max-width:767px){.jtcs-header-layout .jtcs-header-main{grid-template-columns:1fr}.jtcs-header-layout .jtcs-header-actions{text-align:left}.jtcs-shell-gallery-widget .jtcs-gallery-elementor{grid-template-columns:repeat(var(--jtcs-cols-mobile,1),minmax(0,1fr))}}

.jtcs-shell-gallery-widget .jtcs-card .jtcs-media{aspect-ratio:var(--jtcs-media-ratio,4/5)}
.jtcs-shell-gallery-widget .jtcs-card .jtcs-body{padding:var(--jtcs-card-padding,20px);text-align:var(--jtcs-content-align,left)}
.jtcs-shell-gallery-widget .jtcs-card .jtcs-category-pill{align-self:flex-start}
.jtcs-shell-gallery-widget .jtcs-card .jtcs-link-button{margin-top:8px}
.jtcs-shell-gallery-widget .jtcs-card .jtcs-vote-wrap input{margin-bottom:10px}


.jtcs-rules-trigger {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  text-decoration: none;
  transition: opacity .2s ease, color .2s ease, border-color .2s ease, background-color .2s ease;
}
.jtcs-rules-trigger:hover { opacity: .88; }
.jtcs-rules-trigger--button {
  padding: 16px 32px;
  border-radius: 999px;
  background: #efe3d1;
  color: #3b2a1f;
}
.jtcs-rules-trigger--outline {
  padding: 12px 22px;
  border-radius: 999px;
  border: 1px solid currentColor;
  color: #3b2a1f;
  background: transparent;
}
.jtcs-rules-trigger--link,
.jtcs-rules-trigger--text {
  padding: 0;
  border: 0;
  background: transparent;
  color: #3b2a1f;
}
.jtcs-rules-trigger--link {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.jtcs-rules-trigger--text:hover,
.jtcs-rules-trigger--link:hover {
  color: #000;
}
.jtcs-rules-trigger--sm { font-size: 14px; }
.jtcs-rules-trigger--md { font-size: 16px; }
.jtcs-rules-trigger--lg { font-size: 18px; }
.jtcs-rules-trigger--normal { font-weight: 400; }
.jtcs-rules-trigger--bold { font-weight: 700; }


/* Responsive hardening for shortcode rendering */
.jtcs-form p{margin:0 0 16px}
.jtcs-form p:last-child{margin-bottom:0}
.jtcs-form input[type="file"]{padding:12px 14px;background:#fff;line-height:1.4}
.jtcs-form input[type="file"]::file-selector-button{margin-right:12px;border:1px solid #bba894;border-radius:10px;background:#fff;color:#1f1a17;padding:10px 14px;font-weight:600;cursor:pointer}
.jtcs-form input[type="checkbox"]{width:auto;min-width:20px;height:20px;margin:2px 0 0;accent-color:#3b2c1f;box-shadow:none}
.jtcs-check{margin:14px 0}
.jtcs-check label{display:flex;align-items:flex-start;gap:12px;margin:0;font-weight:600;line-height:1.45}
.jtcs-check label span,.jtcs-check label strong{display:inline}
.jtcs-form .jtcs-button{min-height:56px}
.jtcs-form .jtcs-rules-trigger--button{padding:14px 22px}
.jtcs-form .jtcs-help,.jtcs-form .jtcs-legal{line-height:1.6}
@media (max-width:767px){
  .jtcs-shell{padding:16px;border-radius:16px}
  .jtcs-section-head h2{font-size:clamp(26px,8vw,40px)}
  .jtcs-intro{font-size:15px;max-width:none}
  .jtcs-form input,.jtcs-form textarea,.jtcs-form select{padding:13px 14px;border-radius:12px;font-size:16px}
  .jtcs-form input[type="file"]{font-size:16px}
  .jtcs-form input[type="file"]::file-selector-button{display:block;width:100%;margin:0 0 10px;padding:11px 12px}
  .jtcs-form .jtcs-button,
  .jtcs-form .jtcs-rules-trigger--button,
  .jtcs-form .jtcs-rules-trigger--outline{width:100%;justify-content:center;text-align:center}
  .jtcs-form .jtcs-rules-trigger--button,
  .jtcs-form .jtcs-rules-trigger--outline{border-radius:18px}
  .jtcs-form .jtcs-check label{font-size:15px;gap:10px}
  .jtcs-form .jtcs-help,.jtcs-form .jtcs-legal{font-size:14px}
  .jtcs-head-actions,.jtcs-meta-row{width:100%}
  .jtcs-header-layout .jtcs-header-actions{width:100%}
  .jtcs-header-layout .jtcs-header-actions .jtcs-button,
  .jtcs-header-layout .jtcs-header-actions .jtcs-link-button,
  .jtcs-header-layout .jtcs-header-actions .jtcs-rules-trigger--button,
  .jtcs-header-layout .jtcs-header-actions .jtcs-rules-trigger--outline{width:100%}
  .jtcs-modal{padding:10px}
  .jtcs-modal-dialog{width:100%;max-width:100%;max-height:94vh;padding:14px;border-radius:18px}
  .jtcs-modal-close{top:10px;right:10px;width:36px;height:36px;font-size:22px}
}

@media (max-width:767px){.jtcs-modal-dialog img,.jtcs-modal-dialog iframe{max-height:calc(94vh - 110px)}.jtcs-modal-dialog-rules iframe{height:calc(94vh - 110px)}}


/* Elementor popup + mobile hardening */
.elementor-popup-modal .dialog-message,
.elementor-popup-modal .dialog-widget-content,
.elementor-popup-modal .dialog-lightbox-widget-content {
  overflow: visible !important;
}

.elementor-popup-modal .dialog-message {
  width: min(92vw, 860px) !important;
  max-width: 92vw !important;
  max-height: 92vh !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding: 0 !important;
  box-sizing: border-box;
}

.elementor-popup-modal .jtcs-shell {
  max-width: 100%;
  width: 100%;
  margin: 0;
  border-radius: 24px;
}

.elementor-popup-modal .jtcs-form,
.elementor-popup-modal .jtcs-gallery,
.elementor-popup-modal .jtcs-results {
  max-width: 100%;
}

.elementor-popup-modal .jtcs-form .jtcs-button,
.elementor-popup-modal .jtcs-form .jtcs-rules-trigger--button,
.elementor-popup-modal .jtcs-form .jtcs-rules-trigger--outline {
  width: 100%;
}

@media (max-width: 767px) {
  .elementor-popup-modal .dialog-widget-content,
  .elementor-popup-modal .dialog-lightbox-widget-content,
  .elementor-popup-modal .dialog-message {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  .elementor-popup-modal .dialog-message {
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .elementor-popup-modal .jtcs-shell {
    min-height: 100dvh;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 18px 16px 28px;
  }

  .elementor-popup-modal .jtcs-section-head {
    margin-bottom: 18px;
  }

  .elementor-popup-modal .jtcs-section-head h2 {
    font-size: clamp(24px, 8vw, 34px);
    line-height: 1.08;
  }

  .elementor-popup-modal .jtcs-meta-row span {
    width: auto;
    max-width: 100%;
  }

  .elementor-popup-modal .jtcs-form p {
    margin-bottom: 14px;
  }

  .elementor-popup-modal .jtcs-form input,
  .elementor-popup-modal .jtcs-form textarea,
  .elementor-popup-modal .jtcs-form select {
    min-height: 52px;
    font-size: 16px;
  }

  .elementor-popup-modal .jtcs-form input[type="date"] {
    min-height: 56px;
  }

  .elementor-popup-modal .jtcs-form input[type="file"] {
    padding: 14px;
  }

  .elementor-popup-modal .jtcs-form input[type="file"]::file-selector-button {
    width: 100%;
    margin: 0 0 12px;
  }

  .elementor-popup-modal .jtcs-check label {
    align-items: flex-start;
  }

  .elementor-popup-modal .jtcs-check input[type="checkbox"] {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin-top: 2px;
  }

  .elementor-popup-modal .jtcs-form .jtcs-help,
  .elementor-popup-modal .jtcs-form .jtcs-legal {
    font-size: 14px;
    line-height: 1.65;
  }
}
