/* Idéal Web R3 — responsive site gallery. Visual presentation only.
   Project ownership, auth, actions, plan states and published URLs remain owned by V3. */
.iw-projects-shell {width:min(1260px,calc(100% - 40px));}
.iw-projects-topbar-inner {width:min(1260px,calc(100% - 40px));}
.iw-projects-intro {min-height:246px;gap:22px;padding:32px clamp(24px,3vw,42px);}
.iw-projects-intro h1 {font-size:clamp(30px,3.7vw,49px);line-height:1.08;max-width:650px;}
.iw-projects-intro p {font-size:14px;max-width:570px;}
.iw-projects-section {padding:clamp(18px,2.3vw,30px);}
.iw-projects-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(13px,1.7vw,22px);}
.iw-project-card {display:flex;flex-direction:column;min-width:0;padding:19px;border:1px solid #dcebe1;border-radius:23px;background:#fff;box-shadow:0 8px 32px rgba(13,67,44,.045);}
.iw-project-card:hover {transform:translateY(-2px);border-color:#bcdcc9;box-shadow:0 18px 40px rgba(13,67,44,.09);}
.iw-project-card.is-preferred {border-color:#7ebfa0;}
.iw-project-card .iw-project-accent {height:4px;}
.iw-r3-site-visual {position:relative;display:flex;align-items:center;justify-content:flex-end;height:128px;margin:-1px -1px 19px;border:1px solid #d5e8dd;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 78% 33%,rgba(47,194,123,.35),transparent 46%),linear-gradient(114deg,#093a29 0%,#0c6542 68%,#137f52 100%);}
.iw-r3-site-visual::before {content:'';position:absolute;inset:0;background:repeating-linear-gradient(150deg,transparent 0,transparent 35px,rgba(255,255,255,.03) 36px,rgba(255,255,255,.03) 37px);pointer-events:none;}
.iw-r3-visual-caption {position:absolute;left:19px;top:21px;color:#d8f7e4;font-size:10px;font-weight:950;letter-spacing:.17em;}
.iw-r3-visual-devices {position:relative;display:block;width:210px;height:116px;margin-right:21px;margin-top:25px;filter:drop-shadow(0 10px 13px rgba(4,39,24,.20));}
.iw-r3-visual-desktop {position:absolute;right:21px;top:1px;width:165px;height:99px;transform:rotate(-5deg);border:5px solid #fff;border-radius:10px;background:#f5fcf7;overflow:hidden;}
.iw-r3-visual-desktop::before {content:'';position:absolute;inset:0 0 auto;height:16px;background:#e7f2e9;}
.iw-r3-visual-desktop i,.iw-r3-visual-desktop b,.iw-r3-visual-desktop em {position:absolute;display:block;border-radius:4px;}
.iw-r3-visual-desktop i {left:8px;top:26px;width:48px;height:48px;background:#bfe6cd;}
.iw-r3-visual-desktop b {left:66px;top:26px;width:66px;height:9px;background:#0c8550;}
.iw-r3-visual-desktop em {left:66px;top:45px;width:70px;height:6px;background:#cce4d4;}
.iw-r3-visual-desktop em:last-child {top:58px;width:52px;}
.iw-r3-visual-mobile {position:absolute;right:0;bottom:4px;width:45px;height:80px;border:5px solid #13392b;border-radius:10px;background:#f6fbf6;transform:rotate(9deg);overflow:hidden;}
.iw-r3-visual-mobile i,.iw-r3-visual-mobile b,.iw-r3-visual-mobile em {position:absolute;display:block;left:6px;border-radius:3px;}
.iw-r3-visual-mobile i {top:10px;width:22px;height:23px;background:#bee5ca;}
.iw-r3-visual-mobile b {top:40px;width:24px;height:5px;background:#0b8b50;}
.iw-r3-visual-mobile em {top:51px;width:20px;height:4px;background:#d2e6d8;}
.iw-project-card[data-plan="site"] .iw-r3-site-visual {background:radial-gradient(circle at 82% 32%,rgba(86,191,199,.37),transparent 49%),linear-gradient(118deg,#093b40,#087d80);}
.iw-project-card[data-plan="pro"] .iw-r3-site-visual {background:radial-gradient(circle at 78% 32%,rgba(89,174,136,.4),transparent 48%),linear-gradient(116deg,#082f28,#14583f);}
.iw-project-name h3 {font-size:clamp(21px,2.1vw,25px);line-height:1.14;overflow-wrap:anywhere;}
.iw-project-name p {white-space:normal;max-width:100%;line-height:1.35;}
.iw-project-sequence {line-height:1.45;}
.iw-project-head {gap:10px;}
.iw-project-identity {min-width:0;gap:11px;}
.iw-project-icon {width:45px;height:45px;flex-basis:45px;}
.iw-plan-badge {max-width:155px;white-space:normal;line-height:1.25;text-align:center;justify-content:center;}
.iw-project-summary {margin-top:18px;}
.iw-project-meta {min-width:0;padding:12px;}
.iw-project-meta strong {overflow-wrap:anywhere;line-height:1.4;}
.iw-project-actions {margin-top:auto;padding-top:19px;}
.iw-project-open,.iw-project-site {min-height:48px;padding:11px 12px;text-align:center;}
.iw-project-repair {margin-top:13px;overflow-wrap:anywhere;}
/* A single project should look intentional, not like a half-empty 2-column grid. */
.iw-projects-grid.iw-premium-single {grid-template-columns:minmax(0,1fr);}
.iw-premium-single>.iw-project-card:not(.iw-has-embedded-preview) {display:flex;max-width:960px;margin-inline:auto;}
.iw-premium-single>.iw-project-card:not(.iw-has-embedded-preview) .iw-r3-site-visual {height:160px;}
.iw-premium-single>.iw-project-card:not(.iw-has-embedded-preview) .iw-project-actions {margin-top:0;}
/* An actual on-demand embedded preview takes precedence over decorative art. */
.iw-premium-single>.iw-project-card.iw-has-embedded-preview {display:grid;}
.iw-premium-single>.iw-project-card.iw-has-embedded-preview .iw-project-actions {padding-top:0;}
@media(min-width:1200px){
  .iw-projects-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .iw-r3-site-visual {height:140px;}
}
@media(max-width:940px){
  .iw-projects-intro {grid-template-columns:minmax(0,1fr);min-height:0;gap:18px;}
  .iw-projects-welcome-side {flex-direction:row;justify-content:space-between;align-items:center;}
  .iw-projects-welcome-graphic {height:110px;}
  .iw-projects-grid {grid-template-columns:minmax(0,1fr);}
  .iw-premium-single>.iw-project-card.iw-has-embedded-preview {grid-template-columns:1fr;}
}
@media(max-width:600px){
  .iw-projects-topbar-inner,.iw-projects-shell {width:calc(100% - 24px);}
  .iw-projects-topbar-inner {min-height:65px;gap:8px;}
  .iw-projects-brand {width:130px;flex:0 0 130px;}
  .iw-projects-logout {font-size:11px;padding:9px 11px;min-height:40px;}
  .iw-projects-shell {margin-top:13px;margin-bottom:35px;}
  .iw-projects-intro {padding:26px 21px;gap:18px;border-radius:21px;}
  .iw-projects-intro h1 {font-size:clamp(29px,8vw,36px);line-height:1.12;margin:15px 0 10px;}
  .iw-projects-intro p {font-size:13px;line-height:1.5;}
  .iw-projects-welcome-foot {margin-top:18px;}
  .iw-projects-welcome-side {display:block;}
  .iw-projects-welcome-graphic {display:none;}
  .iw-projects-new {max-width:none;width:100%;min-height:48px;}
  .iw-projects-section {padding:15px 12px;border-radius:19px;margin-top:16px;}
  .iw-projects-section-head {align-items:center;gap:10px;margin-bottom:16px;}
  .iw-projects-section-head h2 {font-size:22px;}
  .iw-projects-counter {padding:7px 10px;font-size:10px;min-width:0;}
  .iw-projects-grid {gap:13px;}
  .iw-project-card,.iw-premium-single>.iw-project-card {padding:15px;border-radius:18px;min-height:0;}
  .iw-r3-site-visual,.iw-premium-single>.iw-project-card:not(.iw-has-embedded-preview) .iw-r3-site-visual {height:112px;margin-bottom:17px;border-radius:13px;}
  .iw-r3-visual-caption {top:16px;left:14px;font-size:9px;}
  .iw-r3-visual-devices {transform:scale(.76);transform-origin:right center;margin-right:12px;margin-top:18px;}
  .iw-project-head {flex-direction:column;align-items:stretch;gap:11px;}
  .iw-project-identity {gap:10px;}
  .iw-project-icon {width:41px;height:41px;flex-basis:41px;}
  .iw-project-name h3 {font-size:21px;}
  .iw-project-name p {max-width:none;}
  .iw-plan-badge {align-self:flex-start;max-width:100%;}
  .iw-project-summary {grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:15px;}
  .iw-project-meta {padding:11px 9px;}
  .iw-project-meta strong {font-size:11px;}
  .iw-project-actions {grid-template-columns:1fr;padding-top:14px;gap:8px;}
  .iw-project-open,.iw-project-site {font-size:12px;min-height:47px;}
  .iw-premium-single>.iw-project-card.iw-has-embedded-preview {display:grid;}
  .iw-projects-help {border-radius:18px;}
}
@media(max-width:365px){
  .iw-projects-intro h1 {font-size:28px;}
  .iw-projects-section-head h2 {font-size:20px;}
  .iw-project-summary {grid-template-columns:1fr;}
  .iw-projects-brand {width:110px;flex-basis:110px;}
}
@media(prefers-reduced-motion:reduce){
  .iw-project-card,.iw-projects-new {transition:none;}
}
