/* Talismanio v2.5 stability + protected preview + review import */

/* Progressive enhancement: content must remain visible even if JS is blocked/cached. */
[data-reveal]{opacity:1!important;transform:none!important;visibility:visible!important}

/* Header/menu resilience */
.nav-wrap-v5{grid-template-columns:auto minmax(220px,1fr) auto!important}
.main-nav-v5{gap:8px!important}
.main-nav-v5>a,.main-nav-v5 .nav-dropdown>button{min-height:42px;padding:9px 11px;border-radius:999px;white-space:nowrap}
.main-nav-v5>a:hover,.main-nav-v5 .nav-dropdown>button:hover{background:rgba(202,166,91,.1)}
.main-nav-v5 .cart-link{gap:7px}
.header-search{min-width:220px}

/* Product CTA spacing */
.product-actions-stack{display:grid!important;gap:12px!important;margin-top:16px!important}
.product-actions-stack .btn{margin:0!important;width:100%}
.secondary-buy-link{border-width:1px!important}

/* Admin layout stability */
.admin-body{overflow-x:hidden}
.admin-shell{min-width:0}
.admin-main{min-width:0;width:100%!important;max-width:1500px}
.admin-sidebar{overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-gutter:stable}
.admin-nav{padding-bottom:24px}
.admin-card,.admin-form{min-width:0}
.admin-card input,.admin-card textarea,.admin-card select{max-width:100%}

/* Media library */
.upload-diagnostics{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.media-library-dialog{border-radius:18px;overflow:hidden}
.media-library-dialog.is-open{display:block;position:fixed;inset:7vh auto auto 50%;transform:translateX(-50%);z-index:99999;width:min(980px,calc(100% - 28px));max-height:86vh;overflow:auto;background:#faf5ea;border:1px solid #bda470;box-shadow:0 40px 110px rgba(8,24,20,.42)}
body.modal-open:before{content:"";position:fixed;inset:0;background:rgba(5,20,16,.72);z-index:99998;backdrop-filter:blur(3px)}
.media-library-dialog.is-open{z-index:99999}
.media-pick-item{border-radius:10px;overflow:hidden}
.media-pick-item img{background:#eee3cb}
.media-loading.error{color:#9d342d;padding:36px}

/* Protected preview editor */
.watermark-builder-card{overflow:hidden}
.watermark-builder-grid{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(280px,.95fr);gap:26px;align-items:start;margin-top:18px}
.watermark-live-preview{position:relative;min-height:430px;background:linear-gradient(145deg,#e9dec9,#cbb991);border:1px solid #d5c39e;overflow:hidden;display:grid;place-items:center;border-radius:14px}
.watermark-live-preview img{width:100%;height:100%;max-height:620px;object-fit:contain;display:block}
.watermark-empty{display:grid;place-items:center;gap:10px;text-align:center;color:#786f61;padding:40px}.watermark-empty i{font-size:44px;color:#ae8c4f}
.watermark-mask{position:absolute;left:50%;top:50%;width:72%;height:28%;transform:translate(-50%,-50%);background:rgba(10,48,42,.82);border:2px solid rgba(240,207,124,.9);box-shadow:0 12px 35px rgba(0,0,0,.28);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff7df;pointer-events:none;padding:14px;background-image:repeating-linear-gradient(-35deg,rgba(235,199,112,.13) 0 2px,transparent 2px 24px)}
.watermark-mask strong{font:700 clamp(13px,2vw,24px)/1.2 Georgia,serif;letter-spacing:.08em;text-shadow:0 2px 6px rgba(0,0,0,.35)}
.watermark-mask small{margin-top:8px;font-size:9px;letter-spacing:.16em;color:#f0d79e}
.watermark-controls{display:grid;gap:14px}.watermark-controls>label{display:grid;grid-template-columns:1fr auto;gap:7px 12px;font-weight:700}.watermark-controls>label input[type=range]{grid-column:1/-1;width:100%;accent-color:#173a30}.watermark-controls output{font-size:11px;color:#8f6b2e}.watermark-controls>label:last-of-type{grid-template-columns:1fr}.watermark-switch{margin-bottom:10px}

/* Public protected image cues */
.protected-preview-note{display:flex;align-items:center;gap:8px;margin-top:10px;color:#736a5d;font-size:11px}
.protected-preview-note i{color:#9b7737}
.gallery-main:after{content:"Protected preview • HD original after purchase";position:absolute;left:14px;bottom:14px;z-index:4;background:rgba(8,35,30,.86);color:#f3dfaa;border:1px solid rgba(229,191,106,.5);padding:7px 10px;border-radius:999px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}

/* Fast review importer */
.review-quick-import{border-top:4px solid #b68d42}
.review-template-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:13px;background:#f4ecdc;border:1px dashed #cdb785;border-radius:12px}
.review-template-row code{flex:1;min-width:260px;color:#173a30;font-weight:700}
.legacy-review-import summary{cursor:pointer;font-weight:800;color:#29463d}
.review-filter-links{display:flex;gap:8px;flex-wrap:wrap}.review-filter-links a{padding:7px 10px;border:1px solid #ddd0b6;border-radius:999px;text-decoration:none!important}
.country-flag-lg{font-size:22px;margin-right:4px}

/* Make missing-image states obvious instead of collapsing layouts. */
img.image-load-failed{min-height:160px;background:linear-gradient(145deg,#eee3cf,#d5c2a0);object-fit:contain}

@media(max-width:1180px){
  .nav-wrap-v5{grid-template-columns:auto 1fr auto!important;gap:12px!important}
  .main-nav-v5>a,.main-nav-v5 .nav-dropdown>button{padding:8px 9px;font-size:11px}
  .main-nav-v5>a span,.main-nav-v5 .nav-dropdown>button span{display:none}
  .main-nav-v5 .cart-link span{display:inline}
}
@media(max-width:980px){
  .nav-wrap-v5{display:grid!important;grid-template-columns:auto 1fr auto!important;min-height:72px!important}
  .header-search{grid-column:1/-1;grid-row:2;width:100%;padding-bottom:10px}
  .main-nav-v5{position:absolute!important;top:100%!important;left:12px!important;right:12px!important;display:none!important;flex-direction:column!important;align-items:stretch!important;background:#fffaf0!important;border:1px solid #d6c49e!important;border-radius:16px!important;padding:12px!important;box-shadow:0 25px 70px rgba(7,30,25,.24)!important}
  .main-nav-v5.open{display:flex!important}
  .main-nav-v5>a,.main-nav-v5 .nav-dropdown>button{justify-content:flex-start!important;border-radius:10px!important;padding:12px!important}
  .main-nav-v5>a span,.main-nav-v5 .nav-dropdown>button span{display:inline!important}
  .nav-dropdown-panel{position:static!important;box-shadow:none!important;margin-top:6px!important;width:100%!important}
  .watermark-builder-grid{grid-template-columns:1fr}
  .upload-diagnostics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:650px){
  .admin-main{padding:14px!important}
  .admin-card{padding:17px!important}
  .watermark-live-preview{min-height:340px}
  .upload-diagnostics{grid-template-columns:1fr!important}
  .media-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:12px!important}
  .selected-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .review-template-row{align-items:stretch;flex-direction:column}.review-template-row code{min-width:0;width:100%;overflow-wrap:anywhere}
}

/* v2.6 hard fail-safe: site content must remain visible even if JavaScript is blocked. */
[data-reveal], .reveal, .reveal-up, .reveal-left, .reveal-right {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}
img { max-width: 100%; height: auto; }
